【问题标题】:Remove added event listener [duplicate]删除添加的事件侦听器 [重复]
【发布时间】:2012-07-18 23:30:00
【问题描述】:

可能重复:
JavaScript: remove event listener

我正在使用以下 javascript 在我的 html 页面中添加一些侦听器。但是一旦单击该元素,我就需要删除侦听器。对此的任何想法将不胜感激。

这是监听器的 JavaScript 代码,

document.addEventListener('mousemove',function(e){
    var elem = e.target || e.srcElement;
    if (prevElement!= null) {prevElement.classList.remove("className");}
    elem.classList.add("className");
    prevElement = elem;
},true);

【问题讨论】:

标签: javascript


【解决方案1】:

您必须使用命名函数。然后您可以使用removeEventListener 将其删除:

function mouseMoveCallback(e) {
    // Put your code here...
}

function clickCallback(e) {
    document.removeEventListener('mousemove', mouseMoveCallback, true);
    document.removeEventListener('click', clickCallback, true);
}

document.addEventListener('mousemove', mouseMoveCallback, true);
document.addEventListener('click', clickCallback, true);

【讨论】:

  • 他想在点击后删除它,否则不需要单独的函数声明
  • @Esailija - 我没有意识到这一点。谢谢。已更新。
猜你喜欢
  • 1970-01-01
  • 2018-03-24
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 2013-06-27
  • 1970-01-01
相关资源
最近更新 更多