jQueryホットキープラグインを使用して、いくつかのキー押下をイベントにバインドしています。代わりに配列のループをバインドするように変更しようとしましたが、うまくいきません。ループ中にjQueryイベントが正しくバインドされないのはなぜですか?
var letters = ["a","b","c"];
for (var x in letters)
{
var letter = letters[x];
$("el").bind('keydown', letter, function() { /*...*/ })
.bind('keyup', letter, function() { /*...*/ });
}
このコードは、すべてのイベントを配列の最後の文字( "c")にバインドし、他のものはすべてバインドしません。これを行うより良い方法はありますか?どうもありがとう。
誰かがこれらのイベントリスナーをすべてバインドするのはなぜですか?それはそこでいくつかの恐ろしいパフォーマンスです。 Yikes。 – epascarello
switch文またはすべての関数を含むオブジェクトを使用してください。キーアップ用のイベントハンドラとkeydown用のイベントハンドラを追加します。オブジェクト内の関数を検索するか、スイッチケースで見つけてください。 – epascarello