How to remove click event from element in javascript?

I have a <div> element that has a click event attached to it using the following code:

 var id = "someId"; var elem = document.getElementById("elemId"); elem.addEventListener("click", function() { someFunction(id); }, false); 

At a later point, I copy the element and add it to another part of the DOM , but first I need to remove the click event

 var elem = document.getElementById("elemId"); elem.removeEventListener("click", ???? , false); 

I am not sure how to reference the listener, and so far nothing I tried has removed the event from this element.

Any ideas?

Greetings

Stewart

+8
javascript javascript-events
source share
1 answer

Move the anonymous click handler function from the addEventListener call:

 var id = "someId"; var elem = document.getElementById("elemId"); var elemEventHandler = function() { someFunction(id); }; elem.addEventListener("click", elemEventHandler , false); 

after which you can:

 var elem = document.getElementById("elemId"); elem.removeEventListener("click", elemEventHandler , false); 
+6
source share

All Articles