Heim  >  Artikel  >  Web-Frontend  >  Warum löst mein „addEventListener“ beim Laden der Seite statt beim Klicken aus?

Warum löst mein „addEventListener“ beim Laden der Seite statt beim Klicken aus?

Susan Sarandon
Susan SarandonOriginal
2024-10-26 05:03:30493Durchsuche

Why Does My `addEventListener` Trigger on Page Load Instead of Click?

addEventListener-Ereignis wird beim Laden der Seite ausgelöst

Der Ereignis-Listener „addEventListener“ ist ein leistungsstarkes Tool zur Verarbeitung von Benutzerinteraktionen auf Webseiten. Ein häufig auftretendes Problem besteht jedoch darin, dass das Ereignis beim Laden der Seite ausgelöst wird und nicht beim Klicken auf das Zielelement.

Um dieses Problem zu lösen, liegt der Schlüssel in der Rückruffunktion, die an die Methode „addEventListener“ übergeben wird . Im bereitgestellten Skript ist die folgende Zeile problematisch:

el.addEventListener("click", alert("clicktrack"), false);

Wenn diese Zeile ausgeführt wird, wird die Warnung sofort aufgerufen und gibt undefiniert zurück. Um den Alarmcode korrekt an den Listener zu übergeben, muss er in eine Funktion eingeschlossen werden:

el.addEventListener("click", function() { alert("clicktrack"); }, false);

Auf diese Weise wird der Alarmcode zum Hauptteil einer anonymen Funktion, die ausgeführt wird, wenn das Ereignis eintritt ausgelöst. Dadurch wird sichergestellt, dass das Ereignis nur ausgelöst wird, wenn auf das „myDiv“-Element geklickt wird, nicht während des Ladens der Seite.

Das obige ist der detaillierte Inhalt vonWarum löst mein „addEventListener“ beim Laden der Seite statt beim Klicken aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn