31

Al inspeccionar de una página DOM, me gustaría saber el evento (s) adjunto a un elemento de forma rápidaEncuentra eventos adjuntos/con destino de un elemento utilizando herramientas de desarrollo de Chrome/Firebug/IE Barra de herramientas de desarrollador

Por ejemplo, si un botón tiene esta DOM HTML

<button id="button1">Click Me</button> 

Y en alguna parte (no en un lugar que yo sepa de antemano) que tiene un evento adjunto, por ejemplo,

$("#button1").click(function(){...}); 

sé que se puede hacer mediante programación (Can I find events bound on an element with jQuery?)

pero hay una manera de utilizar sólo una de las herramientas de desarrollo para Chrome/Firefox/IE para ver una lista de eventos?


actualización: descubrí que en las versiones más nuevas de Chrome Tengo una pestaña llamada EventListeners pero parece que no permite fácil de perforación hacia abajo todo el camino hasta el origen del evento, como jQuery envuelve el original

+0

Puede echar un vistazo a la extensión [EventBug] (http://getfirebug.com/wiki/index.php/Firebug_Extensions#Eventbug) Firebug. Sin embargo, no sé cómo se integra con jQuery. Pero, en general, el soporte para los oyentes de eventos dista mucho de ser bueno en todas las herramientas de desarrollo, desafortunadamente. –

Respuesta

2

FireQuery - http://firequery.binaryage.com/ le permite ver los eventos ligados a elementos y perforar en ellos

+4

Si existe tal cosa para Chrome (EventListeners que profundiza en el origen del evento), ¡no dude en comentar! –

+0

esta respuesta debe ser deseleccionada, no es para Chrome. –

18

con el inspector de Chrome seleccione el elemento en la pestaña "elementos" y luego en la pestaña "consola" que pueda ver th e eventos adjuntos al elemento con getEventListeners($0);.

+1

getEventListeners solo enumera los eventos vinculados al elemento en sí, no incluye todos los eventos del agente por sus padres. – diyism

+0

+1 por usar $ 0 – ipd

+0

@ipd ¿Qué es $ 0? – Shanimal

23

Ahora hay una pestaña de Escucha de eventos en Chrome. Event Listeners tab

+0

Tenga en cuenta que en esta pestaña puede filtrar por "Todos los Nodos" o "Sólo Nodos Seleccionados". – chipit24

+0

inútil, ya que todo apunta a jquery. Usando 'firefox developer edition' puedes encontrar el controlador correcto que en mi caso es una vista Backbone. –

29

para conseguir el primer controlador asociado en los primeros $ ("# botón 1") elemento

$._data($("#button1").get(0),"events").click[0].handler 

JSFiddle

La larga historia que nadie quiere escuchar: Vine aquí en busca de un complemento. Estaba emocionado de ver la respuesta de @ schmidlop, pero en jQuery no me da el oyente que estoy buscando, solo muestra el controlador genérico para los eventos jQuery que eventualmente llaman a la devolución de llamada específica. Todavía estoy buscando un complemento de Chrome que me permita hacer clic con el botón derecho en un elemento y permitirme explorar los manejadores conectados al objeto.

Causa que sería genial.

ACTUALIZACIÓN: me encontré con una extensión de Chrome llamada jQuery depurador. Simplemente "Inspeccionar elemento" y elegir la opción "Eventos" jQuery en el submenú "Elementos" ...https://chrome.google.com/webstore/detail/jquery-debugger/dbhhnnnpaeobfddmlalhnehgclcmjimienter image description here

+1

'$ ._ data ($ (" # button1 "). Get (0)," events "). Haga clic en [0] .handler' funciona muy bien! –

+1

Eso es increíble ... muy ideal ya que no necesito ninguna herramienta. Si la pestaña de escuchas de eventos de Chrome puede hacer esto, ¡sería increíble! –

3

herramientas para desarrolladores de Firefox ahora muestran un "EV" junto a elementos de los cuales han hecho eventos. Esto se puede utilizar para inspeccionar eventos enlazados (incluidos los eventos jQuery).

Aquí es un ejemplo de inspeccionar el elemento "Primer párrafo" de la jQuery click documentation:

Bound events in Firefox developer tools

0

También puede comprobar complemento visual de eventos disponibles para el cromo.

Cuestiones relacionadas