2010-04-29 9 views
5

Encontré un sitio, que tiene alguna función que necesito, en javascript. Está utilizando jQuery, cuando hago clic en una etiqueta, se ejecuta alguna función, por lo que jQuery establece un enlace para la etiqueta. Pero, ¿cómo puedo averiguar qué función está vinculada a él? Firebug no se presentó a mí :(¿Cómo puedo ver qué función de jQuery está vinculada al elemento?

Respuesta

9

Si quería decir ver el manejador click caso de un elemento, se obtendría el primer controlador de la siguiente manera:

$("#element").data("events").click[0].handler 

Esto le daría la . función de ejecución Here's an example page showing that

He aquí un ejemplo:

$("a").click(function() { 
    alert($("a").data("events").click[0].handler); 
});​ 

al hacer clic, esto alertaría: function() { alert($("a").data("events").click[0].handler); }

Esto es solo un ejemplo usando click, pero lo que sea que necesite para trabajos, mouseenter, focus, cualquiera que sea el evento, incluidos los eventos personalizados.

Como acotación al margen, si se quería bucle sobre todos los controladores de eventos para un elemento o colección, esto iba a funcionar, basta con cambiar el selector a lo que está buscando (here's the same example updated to include this):

$.each($("a").data("events"), function(i, e) { 
    $.each(e, function(j, h) { 
    alert('Event: ' + i + '\nHandler:\n' + h.handler); 
    }); 
}); 

+0

+1 excelente respuesta. –

+0

método muy ágil, gracias! – teMkaa

1

¿Ha intentado utilizar FireQuery? Debe instalarse en la configuración de Firefox/Firebug de todos.

Cuestiones relacionadas