36

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

$("#button1").off()

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

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

JQuery 中是否有本机函数来执行此操作,或者我是否必须将它们循环所有元素并逐个删除?

4

3 回答 3

40

jQuery 将为您的直接子代执行循环:

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

或者如果你想要所有的后代:

$("#div1").find("*").off();
于 2012-12-19T03:23:21.783 回答
4

这有帮助吗:

$("#div1").find('*').off();
于 2012-12-19T03:23:07.120 回答
1

尝试

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

或者:

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

如果你在谈论<button>元素

于 2012-12-19T03:25:26.610 回答