HTMLCSSJavaScriptIndexRoadmapImpressum

Grundlagen von Events

Events sind Aktionen im Browser, auf die dein JavaScript reagieren kann – zum Beispiel ein Klick, das Absenden eines Formulars oder das Drücken einer Taste. Mit Event Listenern verbindest du HTML-Elemente mit JavaScript-Funktionen.

Was ist ein Event?

Ein Event ist ein Ereignis, das im Browser passiert. Typische Beispiele sind click, submit, input oder keydown.

Du kannst auf diese Ereignisse reagieren und dann JavaScript ausführen – zum Beispiel eine Meldung anzeigen, Inhalte ändern oder Formulardaten auslesen.

addEventListener

Die modernste und empfohlene Methode ist addEventListener(). Damit sagst du dem Browser: „Wenn dieses Event auftritt, führe diese Funktion aus.“

HTML – Button

1<button id="meinButton">Klick mich</button>

JavaScript – click-Event abfangen

1const button = document.getElementById("meinButton");
2
3button.addEventListener("click", function() {
4    console.log("Button wurde geklickt!");
5});

Event Listener mit Arrow Function

Statt einer normalen Funktion kannst du auch eine Arrow Function verwenden. Das ist besonders praktisch für kurze Aktionen.

JavaScript – Arrow Function als Listener

1button.addEventListener("click", () => {
2    console.log("Button wurde geklickt!");
3});

EventHandler

Die Funktion, die auf ein Event reagiert, nennt man Event Handler. Sie wird ausgeführt, sobald das Event eintritt – zum Beispiel wenn der Nutzer auf den Button klickt.

JavaScript – benannte Funktion als Handler

1function handleClick() {
2    console.log("Button wurde geklickt!");
3}
4
5button.addEventListener("click", handleClick);

Parameter an Event-Funktionen übergeben

Manchmal brauchst du zusätzliche Werte in deiner Funktion. Dann rufst du die Funktion innerhalb des Listeners auf und übergibst die Parameter selbst.

JavaScript – Parameter übergeben

1function begruesse(name) {
2    console.log("Hallo, " + name + "!");
3}
4
5button.addEventListener("click", () => {
6    begruesse("Anna");
7});

Mehrere Event Listener verwenden

Du kannst auf demselben Element mehrere Listener für dasselbe Event registrieren. Der Browser führt sie nacheinander aus.

JavaScript – mehrere Listener

1button.addEventListener("click", function() {
2    console.log("Erster Listener");
3});
4
5button.addEventListener("click", function() {
6    console.log("Zweiter Listener");
7});

onclick als Alternative

Alternativ kannst du die Eigenschaft onclick direkt am Element setzen. Das funktioniert, ist aber weniger flexibel als addEventListener().

JavaScript – onclick im Script

1const button = document.getElementById("meinButton");
2
3button.onclick = function() {
4    console.log("Button wurde geklickt!");
5};

Events direkt im HTML

Events lassen sich auch direkt im HTML setzen, zum Beispiel mit onclick="...". Das ist schnell zum Testen, aber in größeren Projekten solltest du Events lieber in JavaScript binden.

HTML – Event direkt im Markup

1<button onclick="alert('Button wurde geklickt!')">
2    Klick mich
3</button>

Merksatz: Für sauberen Code trennst du HTML und JavaScript und nutzt addEventListener().

Aufgaben

Probiere die Beispiele selbst aus – am besten in einer eigenen HTML-Datei:

  1. Erstelle einen Button und hänge mit addEventListener("click", …) einen Listener daran. Beim Klick soll in der Konsole eine Meldung erscheinen.
  2. Schreibe denselben Listener einmal als normale Funktion und einmal als Arrow Function. Beide Varianten sollen dasselbe tun.
  3. Registriere zwei verschiedene Listener auf demselben Button. Prüfe in der Konsole, dass beide nacheinander ausgeführt werden.
  4. Vergleiche addEventListener, onclick und ein Event direkt im HTML. Welche Variante würdest du in einem echten Projekt bevorzugen – und warum?

Im nächsten Kapitel lernst du: Das Event-Objekt