我有一个 div 元素,里面有几个元素,比如按钮等等,它们附加了事件处理程序。我知道它可以去:
$("#button1").off()
要删除按钮的处理程序,但如果可能的话,我想做这样的事情:
$("#div1").removeChildHandlers();
JQuery 中是否有本机函数来执行此操作,或者我是否必须将它们循环所有元素并逐个删除?
我有一个 div 元素,里面有几个元素,比如按钮等等,它们附加了事件处理程序。我知道它可以去:
$("#button1").off()
要删除按钮的处理程序,但如果可能的话,我想做这样的事情:
$("#div1").removeChildHandlers();
JQuery 中是否有本机函数来执行此操作,或者我是否必须将它们循环所有元素并逐个删除?
jQuery 将为您的直接子代执行循环:
$("#div1").children().off();
或者如果你想要所有的后代:
$("#div1").find("*").off();
这有帮助吗:
$("#div1").find('*').off();
尝试
$("#div1 >* ").off();
或者:
$("#div1").find('button').off();
如果你在谈论<button>
元素