vanilla eventos evento ejemplos delegacion agregar javascript

ejemplos - eventos javascript



Cómo encontrar detectores de eventos en un nodo DOM usando JavaScript (4)

Console of Chrome tiene un método que puede ayudarlo a verificar si un nodo dom tiene algún detector de eventos registrado, por ejemplo, para verificar los escuchas de eventos asociados al uso del nodo de documento:

https://developers.google.com/chrome-developer-tools/docs/commandline-api#geteventlistenersobject

getEventListeners(document);

Podrías iterar recursivamente en todos los nodos dom y encontrar todos los controladores de eventos adjuntos si es necesario.

Todavía no puedo creer que esto no sea posible, pero hay una manera de recorrer el dom y ver todos los controladores de eventos adjuntos usando ''addEventListener''. Este post y muchos otros dicen que no.

Si ese es el caso, entonces, ¿cómo las aplicaciones, como el inspector de Chrome o Firebug, las muestran? Supongo que probablemente aumenten los métodos del dom de alguna manera para que puedan rastrear lo que está siendo vinculado.


En la consola de Chrome v53 probé:

getEventListeners (documento);

que devuelve:

__proto__: objeto

y sub elementos, no lo que estoy buscando.

Así que he intentado:

getEventListeners (ventana);

que vuelve

Objeto {antes de descargar: Array [1], cargar: Array [1]}

Eso es lo que estoy buscando. Así que creo que el enfoque correcto es el Robin como a la manera de las aves:

getEventListeners (myDomElement):

donde myDomElement es el objeto apuntado que se obtiene con formas estándar como getElementById, etc.


Por supuesto, los navegadores tienen una lista de escuchas de eventos, pero no están expuestos a JavaScript a nivel de página. Por ejemplo, Firebug (o Eventbug ) probablemente use nsIEventListenerInfo .

Dicho esto, esta vieja respuesta sigue siendo válida:
¿Cómo encontrar detectores de eventos en un nodo DOM?


use la siguiente función para obtener el json de los eventos registrados;

getEventListeners (node_name); donde nombre_nodo puede ser un nombre de elemento o su id.