-3

可能重复:
JavaScript:删除事件侦听器

我正在使用以下 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);
4

1 回答 1

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);
于 2012-07-19T18:00:25.710 回答