que tienen un elemento <div>
que tiene un evento de clic que se le atribuye con el siguiente código:¿Cómo puedo eliminar un evento de clic de un elemento en Javascript?
var id = "someId";
var elem = document.getElementById("elemId");
elem.addEventListener("click", function() { someFunction(id); }, false);
En un momento posterior copio el elemento y añadirlo a otra parte de la DOM
, pero que quitar primero click
el caso
var elem = document.getElementById("elemId");
elem.removeEventListener("click", ???? , false);
no estoy seguro de cómo hacer referencia al oyente y hasta ahora nada de lo que he probado ha eliminado el evento desde el elemento.
¿Alguna idea?
Saludos
Stewart
La dificultad con es posible que haya múltiples elementos con este EventListener en t el DOM en cualquier momento, cada uno con su propio valor de identificación. Como tal, no puedo crear una sola variable global elemEventHandler. El código que agrega el detector de eventos se lleva a cabo en su propia función en la que se pasa el ID. ¿Cómo puedo evitar esto? –
@Stewart. Es perfectamente posible hacer referencia al mismo controlador para una serie de elementos y eliminar esa referencia para uno de ellos. He cocinado un ejemplo en jsfiddle para demostrar que: http://jsfiddle.net/KooiInc/qQv9K/ - en el que también se puede ver cómo recuperar la identificación del elemento cliqueado, por cierto, – KooiInc
@Koolinc - gracias. Se ve bien, tuvo un juego rápido y todavía tiene algunos problemas, pero le dedicará más tiempo a esto y luego actualizará el hilo. –