我正在使用hotkeys plugin的JQuery并且无法解除事件的绑定。具体来说,我试图解除绑定到该按键的方法中的按键事件。
例如:
$(document).bind('keydown', 'space', doStuff)
function doStuff() {
alert("Doing stuff");
$(document).unbind('keydown', 'space');
}
我想我可能误解了unbind调用API - 我是否需要提供第三个参数?在一些文档中,似乎我必须提供我最初提供的函数处理程序作为此参数绑定 - 但该函数处理程序是我调用unbind的函数,所以我没有处理它?还是我?
请注意,在今天之前,我正在使用:
$(document).unbind('keydown');
这很好用 - 我需要在代码中的几个点绑定和取消绑定“空格”,这就行了。但是现在我也一直在绑定其他按键,并且发现这个调用(毫不奇怪)解除了对所有按键的所有按键的限制。
那么如何使用热键插件解压缩特定按键的部分或全部事件,或者不使用它?
答案 0 :(得分:1)
您需要使用名称空间。
$(document).bind('keydown.space', 'space', doStuff)
function doStuff() {
alert("Doing stuff");
$(document).unbind('keydown.space', 'space');
}