Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除由另一个函数添加的事件处理程序函数_Javascript_Jquery_Events_Contextmenu - Fatal编程技术网

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

Javascript 删除由另一个函数添加的事件处理程序函数,javascript,jquery,events,contextmenu,Javascript,Jquery,Events,Contextmenu,我目前正在编写一个自定义上下文菜单类,它主要利用jQuery 我们调用函数将上下文菜单分配给DOM中的特定元素。assign函数向DOM追加必要的标记,然后通过向$(document).keydown()方法添加处理程序函数来添加键盘支持 只要有人单击文档本身,上下文菜单就会从DOM中删除。如果用户再次单击元素,我们将再次将标记添加到DOM中,并重新分配处理程序函数 我面临的问题是,每次用户单击元素时都会添加事件处理程序。jQuery是否有一种简单的方法可以删除仅通过赋值函数分配给$(docum

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

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

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

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

我的脚本中还有其他一些函数,它们也为
$(document).keydown()事件添加了侦听器,我不想删除所有这些函数,只想删除上下文菜单分配脚本添加的那些函数。使用jQuery可以做到这一点吗?

我认为使用事件名称/名称空间隔离处理程序应该可以工作