Wie kann ich überprüfen, ob ein dynamisch angehängter Ereignis-Listener vorhanden ist oder nicht?

Hier ist mein Problem: Ist es irgendwie möglich, das Vorhandensein eines dynamisch angehängten Ereignis-Listeners zu überprüfen? Oder wie kann ich den Status der Eigenschaft "onclick" (?) In DOM überprüfen? Ich habe genau wie StackOverflow im Internet nach einer Lösung gesucht, aber kein Glück. Hier ist mein HTML:

<a id="link1" onclick="linkclick(event)"> link 1 </a>
<a id="link2"> link 2 </a> <!-- without inline onclick handler -->

Dann füge ich in Javascript einen dynamisch erstellten Event-Listener an den 2. Link an:

document.getElementById('link2').addEventListener('click', linkclick, false);

Der Code läuft gut, aber alle meine Versuche, den angeschlossenen Listener zu erkennen, schlagen fehl:

// test for #link2 - dynamically created eventlistener
alert(elem.onclick); // null
alert(elem.hasAttribute('onclick')); // false
alert(elem.click); // function click(){[native code]} // btw, what's this?

jsFiddle ist da. Wenn Sie auf "Add onclick for 2" und dann auf "[link 2]" klicken, wird das Ereignis gut ausgelöst, aber "Test link 2" meldet immer "false". Kann jemand helfen?

Antworten auf die Frage(11)

Ihre Antwort auf die Frage