Ereignisse treten ein, wenn Besucher auf Webseiten bestimmte Aktionen ausführen, wie z. B. das Anklicken eines Button. Mit Hilfe von Ereignissen können Webseiten interaktiv gemacht werden, d. h. dazu befähigt werden, auf Benutzeraktionen zu reagieren. Dazu wird beim gewünschten HTML-Element das entsprechende Ereignis-Attribut definiert, das auf den auszuführenden JavaScript-Code bzw. auf die auszuführende JavaScript-Funktion verweist. Tritt das Ereignis ein, wird der entsprechende Code ausgeführt.
Häufig auf Webseiten verwendete Ereignisse sind u. a.:
Hinweis: Eine vollständige Liste der Ereignisse gibt es auf der Seite „HTML DOM Events“ bei „w3schools.com“!
Über das DOM ist es möglich, mit Hilfe von JavaScript, Ereignis-Attribute für HTML-Elemente zur Laufzeit zu definieren. Dazu gibt es folgende Möglichkeiten:
Über das DOM können, mit Hilfe von JavaScript, für HTML-Elemente Ereignis-Attribute zur Laufzeit definiert werden. Dazu können die Ereignis-Attribute direkt über die korrespondierenden DOM-Objekte gesetzt werden:
HTML-Datei:
Ergebnis:
Absatzelement
Mit der Methode „addEventListener()“ können zur Laufzeit für HTML-Elemente und DOM-Objekte (wie z. B. dem „window“-Objekt) Ereignis-Attribute definiert werden. Die Syntax ist dabei wie folgt:
element.addEventListener(ereignis, funktion, option)
HTML-Datei:
Ergebnis:
Absatzelement
Dabei können mit der Methode „addEventListener()“ auch für ein Element bzw. Objekt mehrere unterschiedliche Ereignis-Attribute und mehrere Funktionen für das selbe Ereignis-Atrribut definiert werden:
HTML-Datei:
Ergebnis:
Mit der Option der Methode „addEventListener()“ kann bei verschachtelten HTML-Elementen festgelegt werden, in welcher Reihenfolge die Ereignisse abgearbeitet werden. Mit der Option „bubbling“ wird zuerst das Ereignis des inneren Elements ausgeführt und mit der Option „capturing“ zuerst das Ereignis des äußeren Elements:
HTML-Datei:
Ergebnis:
Option "bubbling"
Option "capturing"
Mit der Methode „removeEventListener()“ können Funktionen von Ereignis-Attributen wieder entfernt werden:
HTML-Datei:
Ergebnis:
Als Abschlussübung kannst du folgendes Beispiel erstellen, bei dem mit jedem Klick, das „click“-Ereignis neu definiert wird:
Gehe dabei wie folgt vor:
Die Lösung kannst du dir hier herunterladen: