删除由另一个函数添加的事件处理函数

时间:2011-12-13 13:20:24

标签: javascript jquery events contextmenu

我目前正在编写一个自定义上下文菜单类,它主要使用jQuery。

我们调用一个函数将上下文菜单分配给DOM中的特定元素。 assign函数将必要的标记附加到DOM,然后通过向$(document).keydown()方法添加处理函数来添加键盘支持。

只要有人点击文档本身,就会从DOM中删除上下文菜单。如果用户再次单击该元素,我们再次将标记添加到DOM,并重新分配处理函数。

我面临的问题是每次用户点击元素时都会添加事件处理程序。 jQuery是否有一种简单的方法可以通过赋值函数 删除分配给$(document).keydown()的处理程序?

我的脚本中还有其他函数也为$(document).keydown()事件添加了侦听器,我不想删除所有这些函数 - 只有那些由上下文菜单赋值脚本添加的函数。这可以用jQuery吗?

1 个答案:

答案 0 :(得分:1)

认为 onoff,使用事件名称/命名空间来隔离处理程序,应该可行。

http://api.jquery.com/on/