Anonim

Hai mai avuto una sorta di conflitto su un ascoltatore di eventi? O vuoi solo vedere cos'altro viene eseguito sulla stessa azione sulla pagina. A seconda del browser, questa potrebbe essere o meno una funzionalità integrata.

Integrato al browser

In Google Chrome, fai clic destro sulla pagina, vai a Ispeziona elemento. Da lì, assicurati di essere nella scheda Elementi e fai clic su un blocco di HTML. Nella barra laterale destra vedrai una sezione a schede in cui puoi fare clic su Listener di eventi e vedere le azioni che il documento sta ascoltando. Puoi approfondire ulteriormente ciascuna di queste azioni per vedere dove si sta verificando la dichiarazione iniziale.
In Internet Explorer, credo che abbiano funzionalità simili integrate. In FireFox, credo che richieda un componente aggiuntivo FireBug per vedere quella funzionalità nel browser.

getEventListeners

Questo è un metodo che viene inserito direttamente in Chrome e Firebug per Firefox. Sintassi: getEventListeners (oggetto). Quindi, in combinazione con jQuery, un semplice esempio potrebbe essere:

getEventListeners ($ ( '# container'));

Vai direttamente alla console per gli sviluppatori e digita quel comando per qualunque elemento desideri vedere gli ascoltatori.
getEventListeners Chrome
getEventListeners Firebug

jQuery

Non esiste più un modo completamente supportato per ottenere queste informazioni in jQuery. Puoi accedere a un metodo privato in jquery tramite:

$ ._ dati ($ ( ''), 'Eventi');

Sostituisci con il riferimento dell'elemento appropriato. Questo non è supportato pubblicamente, non c'è documentazione e potrebbe smettere di funzionare con qualsiasi nuova versione di jQuery, quindi non fare affidamento su di esso. Se lo utilizzerai, utilizzalo solo per il debug.

bookmarklet

Se nessuna delle precedenti è adatta a te, c'è un bookmarklet piuttosto interessante che ti farà vedere sulla pagina dove si trovano gli ascoltatori. Se vai qui, forniscono il bookmarklet da trascinare sulla barra del browser. Questo è onestamente il modo in cui uso più spesso, poiché posso vedere esattamente dove si trova l'ascoltatore sulla pagina.

Visualizza tutti i listener di eventi