jQuery在元素内部删除所有事件处理程序



我有一个div元素,其中有几个元素,例如按钮等,它们附有事件处理程序。我知道它可以走:

$("#button1").off()

删除按钮的处理程序,但如果可能的话,我想做这样的事情:

$("#div1").removeChildHandlers();

jQuery中是否有本机函数可以执行此操作,或者我必须将它们循环所有元素,然后删除1 x 1?

jQuery将为您为您的直接孩子做循环:

$("#div1").children().off();

或如果您想要所有后代:

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

做此帮助:

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

尝试

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

或:

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

如果您说的是<button>元素

IMHO更好的做法和更好的性能选项是使用on方法将处理程序连接到外部父母...

$("#div1").find("click", ".childButton", magicFunction);

然后要删除所有听众,您可以在父元素上调用off

$("#div1").off();

相关内容

  • 没有找到相关文章

最新更新