Ooit een soort conflict gehad over een gebeurtenisluisteraar? Of wil gewoon zien wat er nog meer wordt uitgevoerd op dezelfde actie op pagina. Afhankelijk van uw browser kan dit al dan niet een ingebouwde functionaliteit zijn.
Ingebouwd in browser
Klik in Google Chrome met de rechtermuisknop op de pagina en ga naar Element inspecteren. Zorg er vervolgens voor dat u zich op het tabblad Elementen bevindt en klik op een HTML-blok. Aan de rechterkant van de zijbalk ziet u een gedeelte met tabbladen waar u op Event-luisteraars kunt klikken en de acties kunt zien waarnaar het document luistert. U kunt verder gaan op elk van die acties om te zien waar de initiële aangifte plaatsvindt.
In Internet Explorer geloof ik dat ze dezelfde ingebouwde functionaliteit hebben. In FireFox geloof ik dat het een FireBug-add-on vereist om die functionaliteit in de browser te zien.
getEventListeners
Dit is een methode die rechtstreeks in Chrome en Firebug voor Firefox is ingebakken. Syntaxis: getEventListeners (object). Dus in combinatie met jQuery zou een eenvoudig voorbeeld zijn:
getEventListeners ($ ( '# container'));
Ga gewoon rechtstreeks naar de ontwikkelaarsconsole en typ die opdracht voor het element waarvoor je de luisteraars wilt zien.
getEventListeners Chrome
getEventListeners Firebug
jQuery
Er is geen volledig ondersteunde manier om deze informatie meer in jQuery te krijgen. U kunt toegang krijgen tot een privémethode in jquery via:
$ ._ data ($ ( ''), 'events');
Vervang door uw juiste elementverwijzing. Dit wordt niet publiekelijk ondersteund, er is geen documentatie en het zou kunnen stoppen met werken bij elke nieuwe release van jQuery, dus vertrouw er niet op. Als je het gaat gebruiken, gebruik het dan alleen voor foutopsporing.
bookmarklet
Als niets van het bovenstaande u past, is er een vrij coole bookmarklet waarmee u op pagina kunt zien waar de luisteraars zich bevinden. Als u hierheen gaat, bieden ze de bookmarklet om naar de balk van uw browser te slepen. Dit is eerlijk gezegd de manier die ik het meest gebruik, omdat ik precies kan zien waar de luisteraar zich op pagina bevindt.