Javascript:删除所有事件侦听器

Javascript:删除所有事件侦听器,javascript,jquery,Javascript,Jquery,删除所有事件侦听器的最佳方法是什么?我有类似的东西(使用jQuery),但我不确定这是否是最好的方法: // Remove all the event listernes $('*').off('blur click change dblclick each error focus focusin focusout keydown keypress keyup load mousedown mouseup mousemove mouseover mouseout mouseenter mouse

删除所有事件侦听器的最佳方法是什么?我有类似的东西(使用jQuery),但我不确定这是否是最好的方法:

// Remove all the event listernes
$('*').off('blur click change dblclick each error focus focusin focusout keydown keypress keyup load mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave popstate resize scroll select submit unload');
$(window).off('scroll');
.unbind()不起作用吗

例如:

$(“单击”表示“你好”)。在(“单击”,函数(){
警惕(“你好”);
})
$(“#单击#以获取_hello”).unbind()

单击我

这将删除主体中所有元素上的所有事件侦听器

从jQuery 3.0开始,unbind()已被弃用,建议改用.off(),它的作用与unbind()相同:我上面的示例很有效,但我认为off()和unbind()更适合于从单个元素中删除事件侦听器,正如您所演示的那样。因为我想从添加事件监听器的每个元素中删除所有事件监听器,我只是想知道是否有比我的示例更好的方法。我将测试rakan316的解决方案。这是否也会删除窗口对象上绑定的所有事件?如果不是,它是一个简单的$(window.off();因此,删除所有事件侦听器的最后一个代码是:$(“body”).find(“*”).off()$(窗口)。关闭();这将删除绑定到主体中对象的所有事件,但不会删除窗口。并且yes$(window).off()将删除绑定到窗口的对象。$(selector).off()函数用于删除选定项上的所有事件侦听器。在我的回答中,对$(body.find(“*”)调用了off(),它表示body的所有子级。
$("body").find("*").off();