I der nativen DOM bin mit addEventListener
Ereignis wie folgt:addEventListener Befestigung nicht an der richtigen Umfang
const domElement = document.getElementById('ember464');
domElement.addEventListener('click', dosomething);
this._listeners.push({target: domElement, type: 'click', callback: dosomething});
dies das Ereignis registriert und speichert sie in einem Array _listeners
so kann es später gereinigt werden. Die gute Nachricht ist, dass dieses Ereignis an das DOM-Ereignis angehängt wird, obwohl das Ziel eindeutig auf die einzelne Schaltfläche beschränkt ist. Der Handler scheint zu zünden, wenn ein Klick erkannt wird irgendwo auf dem Dokument!
Mache ich etwas falsch?
p.s. hier ist der Browser-Inspektor Blick auf die _listener
Array ... Beachten Sie, dass die Hervorhebung der "Ziel" zeigt tatsächlich nur auf die Schaltfläche, die ich versuche zu targetieren. AKA, das Ziel ist der DOM-Knoten und nicht der Selektor, der zum Identifizieren des Knotens verwendet wird.
Ich habe jetzt im Debugger auf dem angestrebten DOM-Element sah, und ich sehe die folgenden:
Für alle, die mutig genug, hier ist ein Arbeitsdemonstration des Codes. Die zweite Schaltfläche wird durch den „Klick“ ausgelöstes Ereignis ist das Thema dieser Ausgabe:
Der vollständige Quellcode ist hier: link
Ihr Code sieht OK aus und ich habe es getestet (Chrome) und funktioniert wie es sollte. Gehen Sie zu den Debugger-Tools, überprüfen Sie das ember464-Element, wählen Sie "Event Listeners" und aktivieren Sie das Ankreuzfeld für Ancestors, und sehen Sie, ob es Ihnen hilft. –
@SideriteZackwehdex danke für den Vorschlag; Ich habe einen Screenshot des Ereignis-Listeners hinzugefügt, den ich angehängt habe, und er wird auf der Fenster-Ebene hinzugefügt, obwohl ich zu 99% sicher bin, dass ich den richtigen Bereich dafür erfasst habe. :( – ken