Cómo encontrar el método que se adjunta a un evento de clic de un botón

¿Cómo puedo saber de firebug qué método o métodos están adjuntos al controlador de eventos de clic de un botón?

este es el codigo del boton

<button class="rsmg_button_save ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary ui-state-focus" type="button" role="button" aria-disabled="false" style="display: inline-block;"><span class="ui-button-icon-primary ui-icon ui-icon-disk"></span><span class="ui-button-text">Save</span></button>

preguntado el 04 de julio de 12 a las 05:07

Tu pregunta tiene poco sentido. Cuando se hace clic en un botón, el navegador genera el click evento. ¿Que mas quieres saber? Se puede instalar una función para manejar ese evento ya sea con el onclick propiedad o instalando un detector de eventos - addEventListener() or attachEvent() dependiendo del navegador/versión del navegador. -

El código está arriba. Cuando lo presiono, se activa una función de javascript que guarda datos en la base de datos con ajax. Pero no hay un atributo onclick especificado en el botón -

Entonces está en una función separada en alguna parte. A la mayoría de los desarrolladores no les importan mucho los controladores de javascript en línea como onclick. -

claro, pero ¿cómo puede saber qué función está vinculada a ese evento onclick sin ver el onclick? -

Si cromas puedes usar el inspector, en la pestaña de elementos a la derecha en la parte inferior verás Event Listeners -

3 Respuestas

Si la función se adjunta usando jQuery, puede verla usando firebug.
Los eventos jQuery se almacenan usando data método y con clave como events.
So $("desiredSelector").data("events") mostrará todos los eventos adjuntos a ese elemento en particular.
Para obtener más detalles, consulte esto aquí.
Para eventos definidos en Javascript, puede verificar el onClick property o utilice el método sugerido por jfriend00.


EDIT:
Hay un Complemento jQuery que hacen esto más simple.

Respondido 04 Jul 12, 05:07

gracias, creo que Chrome lo tiene más fácil. Pero genial, gracias de nuevo. elloshz

@themhz: Me alegro de haber podido ayudar :) - Ajinkya

El código Javascript puede conectarse a eventos de clic de botón con el onclick propiedad o con addEventListener() or attachEvent() (dependiendo del navegador y la versión del navegador).

Si hay un código javascript que maneja el evento y no hay un controlador onclick especificado en el HTML, entonces el código javascript está instalando el controlador de eventos configurando el onclick propiedad más tarde o usando addEventListener() or attachEvent().

Respondido 04 Jul 12, 05:07

y ¿cómo puedo ver esos ganchos de firebug? - elloshz

En Firefox, podrías examinar el onclick propiedad. no se como ver addEventListener() controladores de eventos en Firebug (o si puede). En Chrome, selecciona el objeto deseado y mira el Event Listeners panel en el lado derecho. - amigo00

Buen hombre, lo encontré en Chrome como mencionaste. Estoy seguro de que firebug tiene que - elloshz

Busqué mucho con $("desiredSelector").data("events") desde arriba y también con GetEventListeners pero en Firebug 2.x hay una nueva forma muy fácil de encontrar los eventos vinculados: si hay una función de vinculación, encontrará un "ev" justo al lado de la fila:

enter image description here

¡Cosa genial!

Respondido 01 Abr '17, 12:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.