删除特定事件处理程序

时间:2015-01-12 15:55:13

标签: javascript jquery javascript-events

附加事件处理程序:

$(document).on('keypress', function(event){
  #1
});

这将删除所有“keypress”事件处理程序:

$(document).off('keypress');

我只想从上面的代码中删除#1

这可以在不使用命名空间的情况下完成吗?我不想创建用作名称空间的随机字符串:(

1 个答案:

答案 0 :(得分:3)

将原始处理程序传递给off。确保你传递的是原始而不是一个看起来相同的新匿名函数。

这意味着您需要存储它。

var handler = function(event){
  #1
};

$(document).on('keypress', handler);

$(document).off('keypress', handler);