10 – Ereignisse & Timing 🕓
Wie deine Webseite auf Benutzer reagiert und zeitgesteuert arbeitet
🎯 1. Einleitung & W3Schools
In diesem Kapitel hast du gelernt, wie Ereignisse (Events) und Timing-Funktionen
Webseiten interaktiv und lebendig machen – mit addEventListener, Event-Delegation und setTimeout/setInterval.
🔗 W3Schools – JavaScript Events
🔗 W3Schools – JavaScript Timing
🧠 2. KI-Prompt-Training
Aufgabe: Formuliere einen Prompt, mit dem du KI um Hilfe bitten würdest,
um zu erklären, warum addEventListener besser ist als onclick –
und wie man mit setInterval eine Uhr baut, die man auch wieder stoppen kann.
🖱️ Aufgabe 1: Event-Listener – Wann wird aufgeräumt?
Ein Mitschüler hat folgenden Code geschrieben, um einen Zähler zu bauen:
let zaehler = 0;
document.getElementById("btn").addEventListener("click", function() {
zaehler++;
document.getElementById("ausgabe").textContent = zaehler;
});
Später möchte er den Button deaktivieren – aber der Zähler läuft weiter, wenn man ihn per Tastatur auslöst.
Deine Aufgabe:
- Warum kann der Listener nicht einfach „entfernt“ werden? Was fehlt?
- Verbessere den Code, sodass der Listener später entfernt werden kann.
- Erkläre, warum man bei dynamischen Inhalten oft Event-Delegation statt direkter Listener verwendet.
- Formuliere einen Prompt, der einen entfernbareren Listener erstellt – mit klarer Trennung von Funktion und Listener.
⏱️ Aufgabe 2: Timing – Speicherleck vermeiden
Gegeben ist folgender Code für eine Uhr:
setInterval(() => {
document.getElementById("uhr").textContent = new Date().toLocaleTimeString();
}, 1000);
Der Schüler wechselt später auf eine andere Seite – aber die Uhr läuft im Hintergrund weiter.
Deine Aufgabe:
- Warum ist das ein Problem? (Stichwort: Speicherleck, unnötige Berechnungen)
- Wie kannst du den Intervall später stoppen? Was musst du speichern?
- Erstelle eine Funktion
starteUhr()undstoppeUhr(), die sicher mit dem Intervall umgehen. - Formuliere einen Prompt, der eine steuerbare Uhr mit Start/Stop-Funktion erstellt – und erklärt, warum man die Intervall-ID speichern muss.
📊 Beurteilungskriterien – Übung 10: Ereignisse & Timing
Deine Lösung wird anhand folgender Kriterien beurteilt – besonders im Fachgespräch. Markiere selbst ehrlich, wo du stehst:
| Kriterium | ✅ Erfüllt |
➖ Teilweise |
❌ Nicht erfüllt |
|---|---|---|---|
| Verständnis von Event-Listenern: Kannst du im Fachgespräch erklären, warum addEventListener
besser ist als onclick – und wie man den Listener später wieder entfernen kann? |
|||
| Umgang mit Timing-Funktionen: Verwendest du setTimeout und setInterval sicher,
speicherst du die Intervall-ID und vermeidest du Speicherlecks durch fehlendes clearInterval? |
|||
| Qualität der Prompts: Sind deine Prompts präzise formuliert, thematisch korrekt und vermeiden sie, KI um „fertigen Code“ zu bitten? |
|||
| Eigene Reflexion: Kannst du im Fachgespräch erklären, warum du deine Lösung gewählt hast – oder gibst du nur KI-Output ab? |
⚠️ Hinweis: Im Fachgespräch wirst du gebeten, deine Lösung in eigenen Worten zu erklären. Wer nur KI-Code abgibt, kann die Fragen nicht beantworten.