Javascript Jquery删除元素内的所有事件处理程序

Javascript Jquery删除元素内的所有事件处理程序,javascript,jquery,event-handling,Javascript,Jquery,Event Handling,我有一个div元素,里面有几个元素,比如按钮等等,它们都附带了事件处理程序。我知道有可能去: $("#button1").off() 要删除按钮的处理程序,但如果可能,我希望执行以下操作: $("#div1").removeChildHandlers(); JQuery中是否有一个本机函数来执行此操作,或者我是否必须将所有元素循环并逐个删除?这是否有帮助: $("#div1").find('*').off(); jQuery将只为直接子对象执行循环: $("#div1").children

我有一个div元素,里面有几个元素,比如按钮等等,它们都附带了事件处理程序。我知道有可能去:

$("#button1").off()
要删除按钮的处理程序,但如果可能,我希望执行以下操作:

$("#div1").removeChildHandlers();
JQuery中是否有一个本机函数来执行此操作,或者我是否必须将所有元素循环并逐个删除?

这是否有帮助:

$("#div1").find('*').off();

jQuery将只为直接子对象执行循环:

$("#div1").children().off();
或者,如果需要所有子体:

$("#div1").find("*").off();
试一试

$("#div1 >* ").off();
或:


如果你说的是
元素

可能是
.find('button').off()
你在找什么?不,可能是不太具体的重复感谢我想这涵盖了我所寻找的所有可能性。谢谢。我发现如果不手动跟踪事件处理程序,很难确定它是否已经存在。关闭所有子体处理程序后,我可以立即重新应用它们。可能对性能不太好,但拥有一个快速解决方案非常好!
$(“#div1”).children().off()
$(“#div1”).off()
之间的主要区别是什么?@Malky.Kid-
$(“#div1”).off()
仅从
\div1
元素本身删除事件处理程序
$(“#div1”).children().off()
仅对
#div
的子项进行操作,而对
#div
完全不进行操作。因此,这取决于您要对哪些元素进行操作。@jfriend00 my GratiudeInstein而不是
$(“#div1”)。查找('*')
可以使用CSS选择器
$(“#div1*”)
$("#div1").find('button').off();