Alle Ereignislistener anzeigen

Hatten Sie jemals einen Konflikt bei einem Ereignis-Listener? Oder Sie möchten nur sehen, was sonst noch auf derselben Seite ausgeführt wird. Abhängig von Ihrem Browser kann dies eine eingebaute Funktionalität sein oder auch nicht.

Eingebaut in den Browser

Klicken Sie in Google Chrome mit der rechten Maustaste auf die Seite und wählen Sie Element prüfen. Stellen Sie sicher, dass Sie sich auf der Registerkarte "Elemente" befinden und auf einen HTML-Block klicken. In der rechten Seitenleiste sehen Sie einen Bereich mit Registerkarten, in dem Sie auf Ereignislistener klicken und die Aktionen sehen können, auf die das Dokument wartet. Sie können bei jeder dieser Aktionen weiter aufschlüsseln, um zu sehen, wo die ursprüngliche Deklaration stattfindet.
Im Internet Explorer glaube ich, dass sie ähnliche Funktionen eingebaut haben. In FireFox glaube ich, dass es ein FireBug Add-on benötigt, um diese Funktionalität im Browser zu sehen.

getEventListener

Dies ist eine Methode, die direkt in Chrome und Firebug für Firefox gebacken wird. Syntax: getEventListeners (Objekt). In Verbindung mit jQuery wäre ein einfaches Beispiel:

 getEventListeners ($ ('# container')); 

Gehen Sie einfach direkt zur Entwicklerkonsole und geben Sie den Befehl für das Element ein, für das die Listener angezeigt werden sollen.
getEventListeners Chrome
getEventListeners Feuerwanze

jQuery

Es gibt keine vollständig unterstützte Möglichkeit, diese Informationen in jQuery zu erhalten. Sie können auf eine private Methode in jQuery zugreifen über:

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

Ersetzen Sie [selector] durch Ihre entsprechende Elementreferenz. Dies wird nicht öffentlich unterstützt, es gibt keine Dokumentation und es könnte aufhören, mit einer neuen Version von jQuery zu funktionieren, also verlassen Sie sich nicht darauf. Wenn Sie es verwenden möchten, verwenden Sie es nur zum Debuggen.

Lesezeichen

Wenn keine der obigen Möglichkeiten zu Ihnen passt, gibt es ein ziemlich cooles Bookmarklet, mit dem Sie auf der Seite sehen können, wo sich die Listener befinden. Wenn Sie hierhin gehen, stellen Sie das Bookmarklet bereit, das Sie in die Leiste Ihres Browsers ziehen können. Das ist ehrlich gesagt die Art, wie ich am häufigsten benutze, da ich genau sehen kann, wo sich der Hörer auf der Seite befindet.

Siehe Auch