2

ユーザーから[az][0-9]キーが押された回数を数える方法はありますか?

彼が入力テキストのキーを押した回数を数えたいと思います。

助言がありますか?

4

3 に答える 3

3

このコードは、各キーにキーを押した回数を示すマップを維持します。

var map = {};
$('input')​​​​.keyup(function(e){
    var key = e.keyCode;
    if (key>=48 && key<=90) map[key] = (map[key]||0)+1;
});​

デモンストレーション(コンソールを開く)

ここで、キーコードと文字の関係を確認できます。

マップをより読みやすくしたい場合(キーコードの代わりに文字をキーとして使用)、次のようにします。

var map = {};
$('input').keyup(function(e){
    if (e.keyCode>=48 && e.keyCode<=90) {
      var key = String.fromCharCode(e.keyCode);
      map[key] = (map[key]||0)+1;
    }
});​

デモンストレーション(コンソールを開く)

valただし、エントリの最後にある文字列(を使用して取得)を分析する方がおそらく簡単です。

于 2012-11-09T10:28:58.510 に答える
2

このコードは機能#yourinputidします。入力のIDに置き換えkeycode == '13'、カウントするキーに置き換えます。実際には13ですEnter。の値を見るだけでnbr、キーが押された回数がわかります。

var nbr = 0;
    $('#yourinputid').keypress(
       function(event)
       {     
        var keycode = (event.keyCode ? event.keyCode : event.which);
        if(keycode == '13'){
            nbr++;  
       }
    });

幸運を。

ORステートメントで条件を変更する場合は、複数のキーコードを追加できます。

于 2012-11-09T10:30:38.023 に答える
2

デモ

$(document).ready(function() {
    var count = 0;
    $('#txt').keypress(function(event){
        var key_code = event.keyCode ? event.keyCode : event.which;
        if((key_code  >=97 && key_code  <=122) || (key_code  >=48 && key_code <=57)){
           $('#cnt').html(++count);
        }     
    });
});​
于 2012-11-09T10:35:17.237 に答える