是否可以删除附加到元素及其子元素的所有事件

Sys*_*ral 14 jquery

我需要能够删除附加到元素及其所有子元素的事件,即使我不知道这些事件是什么.所有事件都使用jquery附加.

And*_*y E 25

对于jQuery 1.8及更高版本,请使用

$(element).find("*").addBack().off();
Run Code Online (Sandbox Code Playgroud)

addBack()将原始元素列表从$(element)后面添加到jQuery对象持有的元素的内部集合(返回的元素find("*")). off()删除所有附加的事件处理程序,包括使用委托的那些

如果您只想要孩子而不是所有后代,请使用

$(element).children().addBack().off();
Run Code Online (Sandbox Code Playgroud)

查看文档:


对于jQuery 1.7及更低版本,请使用andSelf()而不是addBack().对于jQuery 1.6及更低版本,请使用unbind()die()不是代替off().例如:

$(element).children().andSelf().unbind().die();
Run Code Online (Sandbox Code Playgroud)