Se alle begivenhedslyttere

Har du nogensinde haft en slags konflikt på en hændelseslytter? Eller bare vil se, hvad der bliver udført på samme handling på siden. Afhængigt af din browser kan dette måske være en indbygget funktionalitet.

Indbygget til Browser

I Google Chrome, højreklik på siden, gå til Inspect Element. Derefter skal du sørge for, at du er på fanen Elements og klik på en blok af HTML. På højre sidebjælke kan du se et faneblad, hvor du kan klikke på Event Lyttere og se de handlinger, som dokumentet lytter til. Du kan bore ned yderligere på hver af disse handlinger for at se, hvor den oprindelige erklæring forekommer.
I Internet Explorer tror jeg, at de har samme funktionalitet indbygget. I FireFox mener jeg, at det kræver en FireBug add-on for at se den funktionalitet i browseren.

getEventListeners

Dette er en metode, der er bagt direkte til Chrome og Firebug for Firefox. Syntaks: getEventListeners (objekt). Så i forbindelse med jQuery ville et simpelt eksempel være:

 getEventListeners ($ ( '# container')); 

Bare gå direkte til udviklerkonsollen og skriv den kommando for det element du gerne vil se lytterne til.
getEventListeners Chrome
getEventListeners Firebug

jQuery

Der er ikke nogen understøttet måde at få disse oplysninger i jQuery mere. Du kan få adgang til en privat metode i jquery via:

 $ ._ data ($ ( '[selector]') [0], 'Events'); 

Udskift [selector] med din passende elementreference. Dette er ikke offentligt understøttet, der er ingen dokumentation, og det kan stoppe med at fungere med enhver ny udgivelse af jQuery, så vær ikke afhængig af det. Hvis du vil bruge det, skal du bruge det kun til debugging.

bookmarklet

Hvis ingen af ​​ovenstående passer til dig, er der en temmelig cool bogmærke, der lader dig se på siden, hvor lytterne er placeret. Hvis du går her, giver de bogmærket til at trække til din browsers bar. Dette er ærligt den måde jeg bruger oftest på, som jeg kan se præcis, hvor lytteren er placeret på siden.

Se Også