删除element 事件是自动删除的吗?

keatkeat1987 2014-04-16 06:58:10
var dom = document.getElementById("e");
for (var i = 0 ; i < 10000; i++) {
dom.addEventListener("click", fn, false);
}
document.getElementById("remove").addEventListener("click", function () {
var dom = document.getElementById("e");
dom.parentNode.removeChild(dom);
}, false);

请问当我删除元素时,游览器会自动删除绑定的事件吗?
不使用 jQuery 。
...全文
138 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
keatkeat1987 2014-04-23
  • 打赏
  • 举报
回复
我测试了chrome , 元素被删除事件也一起被删除 . 其它的游览器尤其IE 可能就不会吧 . 感谢! 匿名函数确实不能被删除,除非在函数内用 arg.callee 删除自身。
张运领 2014-04-16
  • 打赏
  • 举报
回复
绑定的事件需要手动去移除的,如果不移除,那么这个事件监听会一直存在。 既然你知道有addEventListener这个方法绑定事件,那么就有一个对应的removeEventListener方法可以移除事件的 但是有一点,匿名函数式没有办法移除事件的, 就拿你上面的代码说,使用fn作为回调函数的这个,可以移除,最后一个,使用的一个匿名函数,这样的事件是不能被移除的。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧