如果HTML元素具有侦听器,那么从DOM中删除该元素后,侦听器会发生什么?

时间:2011-03-01 17:12:51

标签: javascript jquery html

正如标题所述,如果我有一个绑定到HTML元素的jQuery监听器,然后使用jQuery从DOM中删除HTML元素会发生什么?

<div id="eventDiv> ... </div>


$('#eventDiv').click(function() {
    // event handling code here
 });

然后当我做

时听众会发生什么
 $('#eventDiv').remove();

另外,如果你不使用jQuery并使用document.removeChild()?

会发生什么

1 个答案:

答案 0 :(得分:3)

如果您查看jQuery sourceremove()会调用名为cleanData的函数,该函数会调用jQuery.event.removejQuery.removeEvent(这似乎是一个内部函数) 。这些方法最终调用unbind(),删除您要删除的DOM元素的所有事件侦听器。