Как удалить событие click из элемента в Javascript?

у меня есть <div> элемент, к которому прикреплено событие click, используя следующий код:

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

в более поздний момент я копирую элемент и добавляю его в другую часть DOM, но сначала нужно удалить click событие

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

Я не уверен, как ссылаться на слушателя, и до сих пор ничто из того, что я пробовал, не удалило событие из элемента.

какие идеи?

Ура

Стюарт

1 ответов


переместить анонимную функцию обработчика щелчка из addEventListener звоните:

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

после чего вы должны уметь:

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