我正在使用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