Ich habe versucht, zurückzuverfolgen, welche Funktion in ein click -Ereignis von .someclass
eingebunden ist. Ich öffne Chrome Dev Tool und tippe dieses
getEventListeners(document.querySelector('.someclass'));
Das Ergebnis ist das
Object {}
Ich kann nicht darauf klicken und es öffnen, um den Namen des Objekts oder des Quellcodes herauszufinden, der das click-Ereignis behandelt.
Gibt es einen Weg, das herauszufinden?
UPDATE 1:
Folgte Krasimirs unten. Es könnte nur zwei Ereignisse geben: mousemove
oder mouseover
. Also, wie finde ich die genaue Funktion, die dieses Ereignis für canvas.overlay
behandelt? Es gibt einfach zu viele, auf die man zurückgreifen kann.
Sie erhalten beim Aufruf von
ein leeres Objekt %Vor% wahrscheinlich, weil der Listener nicht mit .someclass
element selbst (direktes Ereignis) verbunden ist, sondern mit einem seiner Vorfahren (delegiertes Ereignis). Es gibt eine gute Erklärung für dieses hier .
Sie können sowohl delegierte als auch direkte Ereignisse auflisten, indem Sie getEventListeners
für den angegebenen Knoten und all seine Vorfahren aufrufen. Diese Funktion sollte den Trick machen:
Dies wird jedoch genauso ausgegeben wie die Registerkarte "Event Listeners" (mit der Option "Filter" auf "Alle Knoten"), die Krasimir in seiner Antwort erwähnt hat.
Ich nehme an, dass Sie jQuery verwenden, um die Ereignisse an dieses Element zu binden. Aus diesem Grund können Sie den tatsächlichen Handler-Code nicht im Drill-Down-Menü sehen. Ohne von jQuery umschlossen zu sein, sollte der eigentliche Code in "listenerBody" wie folgt angezeigt werden:
Tags und Links javascript dom google-chrome-devtools javascript-events