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

时间:2012-12-19 03:20:57

标签: javascript jquery event-handling

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

$("#button1").off()

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

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

JQuery中是否有本机函数可以执行此操作,还是必须将所有元素循环并逐个删除?

3 个答案:

答案 0 :(得分:35)

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

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

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

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

答案 1 :(得分:3)

这有用吗:

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

答案 2 :(得分:1)

尝试

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

或者:

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

如果您正在谈论<button>元素