Ich muss Code von 3 verschiedenen Orten auf meiner Website ausführen, wenn ein Ereignis ausgelöst wird. Ich habe 3x Listener hinzugefügt, aber aus irgendeinem Grund wird nur der erste Listener aufgerufen.Javascript - Mehrere benutzerdefinierte Ereignislistener
Hier ist der Code, den ich im Moment testen bin: JSFiddle
window.addEventListener('tompina_event', function (e) {
document.write("triggered 1");
});
window.addEventListener('tompina_event', function (e) {
document.write("triggered 2");
});
window.addEventListener('tompina_event', function (e) {
document.write("triggered 3");
});
var evt = new CustomEvent('tompina_event');
window.dispatchEvent(evt);
Ergebnis:
triggered 1
Dies ist das Ergebnis, das ich gehofft hatte:
triggered 1triggered 2triggered 3
Jeder dieser Zuhörer löscht das gesamte Dokument, wenn es zum ersten Mal ausgelöst wird. Es gibt keine zu hörenden Elemente ... – Teemu
Verwenden Sie 'console.log()' anstelle von 'document.wirte()' weil Sie die ganze Seite überschreiben. – Alexus