我正在使用jquery.hotkeys.js编写一个带有两种键盘模式的程序,在解除所有keydown事件的绑定时,我看到一些减速和闪烁。有更好的方法吗?
function bindAll() {
//bind all keystroke events
$(document).bind('keydown','a', function(evt) {
//...
}
$(document).bind('keydown','b', function(evt) {
//...
}
//etc...
}
function unbindAll() {
$(document).unbind('keydown');
return true;
} //end unbinding all keystrokes
答案 0 :(得分:5)
jQuery为您提供了为事件创建名称空间的可能性。看起来像是:
$(document).bind('keydown.mySpace', function(evt) {
});
$(document).bind('keyup.mySpace', function(evt) {
});
// etc.
您可以.unbind()
添加到命名空间的所有事件,如下所示:
$(document).unbind('.mySpace');
我不知道您提到的插件,但您应该查看文档或更好的源代码。如果它设计得很好,你应该能够为此目的使用jQuery事件命名空间。