Mm. Det "riktiga" sättet att lägga till event listeners är med addEventListener
. Den tar en sträng som identifierar eventtypen och en funktion som ska kallas när eventet triggas:
const knapp = document.getElementById("katt");
knapp.addEventListener("click", () => { alert("Mjau!"); });
Alternativt:
function jama() { alert("Mjau!"); }
knapp.addEventListener("click", jama);
Om du gör på det andra sättet kan du ta bort lyssnaren senare:
knapp.removeEventListener("click", jama);
Skillnad på f
och f()
Notera att det andra argumentet måste vara just en funktion. Vanligt misstag:
knapp.addEventListener("click", jama());
jama
och jama()
är helt olika saker. jama()
kommer i det här fallet vara undefined
, vilket inte är en särskilt lämplig event listener.
Åtkomst till eventet i lyssnaren
Lyssnaren kallas med eventet som första argument, så du har åtkomst till eventet i lyssnaren:
knapp.addEventListener("click", event => { console.log(event.target); });