Visa alla Händelsemedlemmar

Har du någonsin haft någon form av konflikt på en händelselyssnare? Eller vill du bara se vad som utförs på samma sida på sidan. Beroende på din webbläsare kan eller kanske det inte vara en inbyggd funktionalitet.

Inbyggd i webbläsare

I Google Chrome högerklickar du på sidan, går till Inspect Element. Därifrån, se till att du är på fliken Element och klicka på ett block med HTML. På den högra sidofältet ser du en flikavdelning där du kan klicka på Event Lyssnare och se vilka handlingar dokumentet lyssnar på. Du kan borra vidare på var och en av dessa åtgärder för att se var den ursprungliga deklarationen uppträder.
I Internet Explorer tror jag att de har samma funktionalitet inbyggd. I FireFox tror jag att det krävs en FireBug-tillägg för att se den funktionen i webbläsaren.

getEventListeners

Det här är en metod som bakas direkt i Chrome och Firebug for Firefox. Syntax: getEventListeners (objekt). Så i samband med jQuery skulle ett enkelt exempel vara:

 getEventListeners ($ (# container ")); 

Gå bara direkt till utvecklarkonsolen och skriv det kommandot för vilket element du vill se lyssnare för.
getEventListeners Chrome
getEventListeners Firebug

jQuery

Det finns inget fullt stöd för att få denna information i jQuery längre. Du kan komma åt en privat metod i jquery via:

 $ ._ data ($ ( '[väljaren]') [0], 'händelser'); 

Byt ut [selector] med din lämpliga elementreferens. Detta stöds inte offentligt, det finns ingen dokumentation, och det kan sluta fungera med någon ny version av jQuery, så lita inte på det. Om du ska använda den, använd den endast för debugging.

bookmarklet

Om ingen av ovanstående passar dig finns det en ganska cool bokmärke som låter dig se på sidan där lyssnarna befinner sig. Om du går här, ger de bokmärke till att dra till webbläsarens bar. Detta är ärligt det sätt jag brukar oftast som jag kan se exakt var lyssnaren finns på sidan.

Se Även