我正在使用jQuery hotkeys插件將一些按鍵綁定到事件。我試圖改變這個綁定循環而不是數組,但它不起作用。爲什麼我的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」),而其他字符不會綁定到其他字符。有沒有更好的方法來做到這一點?非常感謝。
爲什麼有人會綁定所有這些事件偵聽器?那是一些糟糕的表現。讓人驚訝。 – epascarello
可以使用switch語句或包含所有函數的對象。爲keyup添加一個事件處理程序,爲keydown添加一個。在對象中查找函數或讓它在開關盒中找到。 – epascarello