如何取消绑定特定事件处理程序 [英] How to unbind a specific event handler

查看:98
本文介绍了如何取消绑定特定事件处理程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

代码

$('#Inputfield').keyup(function(e)
        {
            if(e.which == 13)
            {
                functionXyz();
            }
            else
            {
                functionZyx();
            }
    });  


$(document).keyup(function(exit) {
              if (exit.keyCode == 27) { functionZzy(); }
});

问题:如何删除keyCode的密钥事件处理程序== 27并保持其他$(文档).keyup事件处理程序完整?

Question: How to remove the keyup event handler of keyCode == 27 and keep the other $(document).keyup event handlers intact?

推荐答案

您必须使用命名函数,以便您可以参考调用 .unbind() 时的特定处理程序,如下所示:

You have to use a named function so you can reference that specific handler when calling .unbind(), like this:

function keyUpFunc(e) {
  if (e.keyCode == 27) { functionZzy(); }
}
$(document).keyup(keyUpFunc);

然后稍后解除绑定:

$(document).unbind("keyup", keyUpFunc);

这篇关于如何取消绑定特定事件处理程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆