2

.keyupSearch Textbox の関数を呼び出しkeyup()ています。その中で、データベースから GRID を更新しています。

問題:

ただし、(特殊キーも) 矢印キー、数字ロック、ファンクション キー、およびその他すべてのキーのグリッドが更新され、これらのキーの更新は不要です。バックスペース、リターン、タブ、スペース、削除を除く。

すべてのコントロール キーを除外する正規表現を作成したいと考えています。

サンプルコード:

$('#searchContent').keyup(function (e) {
    var key = e.which;
    if ( /*condition*/ ) {
        return;
    }
    //my code goes here...
}

私がやった事:

ネットを徹底的に検索し、 hotkeyを思いつきましたが、それで私の目的は解決しません。では、スマートな正規表現はありますか?

4

2 に答える 2

0

Try this trick:

function checkForChanges(){
   var txt = $('#searchContent');
   if(txt.val() != txt.attr('xvalue') {
      //do referesh grid content here
   }
}

$('#searchContent').keyup(function (e) {
    $(this).attr('xvalue') = this.value;    
    clearTimeout(this.changeTimer);    
    this.changeTimer = setTimeout(checkForChanges, 20);
}
于 2013-03-22T15:01:14.527 に答える
0

この HTML を試して、どのコードがどのキーと一致するかを確認してください ( Mozillaから取得):

<html>
<head>
    <title>charCode example</title>

    <script type="text/javascript">

        function showChar(e)
        {
            alert("Key Pressed: " + String.fromCharCode(e.charCode) + "\n"
                  + "charCode: " + e.charCode);
        }

        </script>
    </head>

    <body onkeypress="showChar(event);">
        <p>Press any 'character' type key.</p>
    </body>
</html>
于 2013-03-22T11:34:34.597 に答える