0

私は現在、ウェブサイトの所有者がウェブサイトで最も一般的に検索/入力されたものを追跡する機能を設計しています. これを行うには、押されたキーを記録する基本的な機能がありますが、これらの文字を配列にプッシュして管理しやすくしたいのですが、問題が発生しています。配列に入力された最後のキーのみをプッシュします。私はプログラミングが初めてなので、コードを簡単に書いてください:P

誤動作している動的配列を含むコードは次のとおりです。

$(document).ready(function() {
   $(document).keyup(function(objEvent) {
        (objEvent) ? keyCode = objEvent.keyCode : keyCode = event.keyCode;
        varArray = [];
        varLetter = String.fromCharCode(keyCode);
        console.log(varLetter);
        varArray.push(varLetter);
        });
   });

前もって感謝します

-アレックス

4

2 に答える 2

3

この行でキーを押すたびにアレイをリセットしています...

varArray = [];
于 2012-08-26T00:35:22.620 に答える
0

イベント ハンドラーの外部で配列を宣言および初期化して、毎回リセットされるのではなくキー押下を蓄積できるようにします。現在のコードは、キーを押すたびに配列を空に戻すように設定していvarArray = [];ます。

varArray が宣言され、グローバル変数として一度初期化されるこのようなものを使用できます。varLetterまた、ローカルでのみ使用され、グローバルである必要がないため、ローカル変数に変更しました。

var varArray = [];
$(document).ready(function() {
   $(document).keyup(function(objEvent) {
        (objEvent) ? keyCode = objEvent.keyCode : keyCode = event.keyCode;
        var varLetter = String.fromCharCode(keyCode);
        console.log(varLetter);
        varArray.push(varLetter);
    });
});
于 2012-08-26T00:55:40.573 に答える