javascript - 如果 HTML 元素有一个监听器,那么在该元素从 DOM 中移除后监听器会发生什么?

标签 javascript jquery html

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

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


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

那么当我这样做时听众会发生什么

 $('#eventDiv').remove();

此外,如果您不使用 jQuery 而使用 document.removeChild() 会怎样?

最佳答案

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

关于javascript - 如果 HTML 元素有一个监听器,那么在该元素从 DOM 中移除后监听器会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5157856/

相关文章:

javascript - Summernote 它可能已被移动或删除(无法粘贴视频)

javascript - 由于显示属性,自定义选择器不会单击

javascript - 如何使用 Angular JS 使用数组迭代 JSON 对象并填充表

javascript - 从转换字符串中提取不同的 css 转换?

javascript - node.js 如何处理身份验证/用户系统?

jquery - 滑动高度未正确计算,移动方向发生变化

jquery - 为什么我的 AJAX 代码会产生错误?

html - 仅在悬停时显示按钮

javascript - php代码无法运行?没有错误信息

html - Xamarin 免费 HTML 或 DOC 到 PDF 转换