pasar lanzar eventos evento ejemplos change javascript jquery javascript-events

lanzar - eventos javascript ejemplos



¿Cómo comprobar si hay detectores/manejadores de eventos JavaScript adjuntos a un elemento/documento? (4)

Acabo de descubrir el evento visual 2:

http://www.sprymedia.co.uk/article/Visual+Event+2

vaya a la sección "Hágalo ir" y arrastre el enlace de texto a la barra de herramientas de marcadores vaya a una página que tenga eventos y haga clic en el marcador

probado en FF Mac

Esta pregunta ya tiene una respuesta aquí:

Intenté buscar en línea, pero no parece que pueda formular la consulta de búsqueda correctamente.

Tan simple como suena, ¿cómo puedo, ya sea con jquery o simplemente con javascript, listar todos los manejadores u oyentes de eventos que están adjuntos a elemento (s) / documento / ventana o presente en dom.

Sólo me preguntaba.

Gracias de antemano.


Al depurar, si solo quieres ver si hay un evento, te recomiendo usar el evento visual o la sección Elementos de las herramientas para desarrolladores de Chrome: selecciona un elemento y busca "Escuchadores de eventos en la esquina inferior derecha".

En su código, si usa jQuery antes de la versión 1.8, puede usar:

$(selector).data("events")

para obtener los eventos. A partir de la versión 1.8, esto se suspende (consulte este ticket de error ). Puedes usar:

$._data(element, "events")

pero esto no se recomienda ya que es una estructura jQuery interna, y podría cambiar en versiones futuras.

Esta pregunta tiene algunas respuestas que pueden ser útiles, pero ninguna de ellas es particularmente elegante de la misma forma que lo fue $(selector).data("events") .


Sin jQuery:

si los oyentes se agregaron utilizando el método elem.addEventListener (), no es fácil hacer una lista de estos oyentes. Puede anular el método EventTarget.addEventListener () envolviéndolo con el suyo. Entonces usted tendrá la información, qué oyentes fueron registrados.

var f = EventTarget.prototype.addEventListener; // store original EventTarget.prototype.addEventListener = function(type, fn, capture) { this.f = f; this.f(type, fn, capture); // call original method alert(''Added Event Listener: on'' + type); }

Ejemplo de trabajo que puedes encontrar en http://jsfiddle.net/tomas1000r/RDW7F/


En jQuery anterior a 1.8, intente usar $("#element").data("events")

EDITAR:

También hay extensión jQuery: listHandlers