-3

Possible Duplicate:
JavaScript: remove event listener

I am adding some listener in my html page using the following javascript. But i need to remove the listener once that element is clicked. Any idea on this would be greatly appreciated.

Here is the JavaScript code for the listener,

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);
Community
  • 1
  • 1
Stranger
  • 10,332
  • 18
  • 78
  • 115
  • If you did [some searching](http://google.com/?q=javascript+removeeventlistener) you get enough information: https://developer.mozilla.org/en/DOM/element.removeEventListener – Wouter J Jul 19 '12 at 18:01
  • Here is a similar question with answer: http://stackoverflow.com/questions/4402287/javascript-remove-event-listener – Elchin Jul 19 '12 at 18:05

1 Answers1

2

You'll have to use a named function. You can then just use removeEventListener to remove it:

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);
Joseph Silber
  • 214,931
  • 59
  • 362
  • 292
  • He wants to remove it once a click has happened, otherwise making a separate function declaration wouldn't be necessary – Esailija Jul 19 '12 at 18:05