6
约DOM一些愚蠢的问题,请不要恨我正确的方式,以防止对DOM事件侦听器的内存泄漏
对于一些原因,我需要通过一个匿名函数对addEventListener(主要以“通”上下文变量)但曾经调用的监听器可以被删除,所以我想了解下面显示的代码是否是正确的方式来分离监听器。
var item = document.createElement("div");
item.addEventListener("click", function(event) {
// do some stuff
// remove listener otherwise we generate a memory leak
item.removeEventListener("click", arguments.callee, false);
}, false);
var menu = document.getElementById("mymenu"); // some element
menu.appendChild(item);
另一个问题,如果使用removeChild从元素菜单中删除元素菜单,监听器会自动删除?
据Mozilla的文档 https://developer.mozilla.org/en/DOM报道似乎有必要/element.addEventListener#Memory_issues 你是对的我正在使用Firefox;) – dafi 2010-08-31 17:59:38