删除添加的事件侦听器

时间:2012-07-19 17:57:40

标签: javascript

  

可能重复:
  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);

1 个答案:

答案 0 :(得分:2)

您必须使用命名函数。然后,您可以使用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);