我有一个 <div>
使用以下代码附加了点击事件的元素:
var id = "someId";
var elem = document.getElementById("elemId");
elem.addEventListener("click", function() { someFunction(id); }, false);
稍后我复制该元素并将其添加到 DOM
的另一部分, 但需要先删除 click
事件
var elem = document.getElementById("elemId");
elem.removeEventListener("click", ???? , false);
我不确定如何引用监听器,到目前为止我没有尝试从元素中删除事件。
有什么想法吗?
最佳答案
将匿名点击处理函数移出 addEventListener
调用:
var id = "someId";
var elem = document.getElementById("elemId");
var elemEventHandler = function() { someFunction(id); };
elem.addEventListener("click", elemEventHandler , false);
之后你应该能够:
var elem = document.getElementById("elemId");
elem.removeEventListener("click", elemEventHandler , false);
关于javascript - 如何从 Javascript 中的元素中删除点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717960/