Eventlistener is not a Function
Gabi
- javascript
Hallo,
Frage: ich hole mir Elemente via getElementsByClassName
, iteriere über diese und bekomme sogleich mitgeteilt, Element.addEventListener
wäre keine Funktion. Warum?
let Elemente = document.getElementsByClassName("Elemente");
[...Elemente].forEach(Element => {
Element.addEventListener("click", funkClick);
});
Hi,
Frage: ich hole mir Elemente via
getElementsByClassName
, iteriere über diese und bekomme sogleich mitgeteilt,Element.addEventListener
wäre keine Funktion. Warum?
Wie lautet die Fehlermeldung genau?
let Elemente = document.getElementsByClassName("Elemente"); [...Elemente].forEach(Element => { Element.addEventListener("click", funkClick); });
Was ist funkClick?
cu,
Andreas a/k/a MudGuard
Hallo,
Fehlermeldung ist ein TypeError => Uncaught TypeError: Element.addEventlistener is not a function
...liegt nicht an der aufgerufenen Funktion funkClick
, habe da mittlerweile schon ein wenig herumprobiert und in funkClick
alles auskommentiert und nur mehr ein console.log()
stehen.
Es scheint auch bei Objekten wie z.B. IMG
s tadellos zu funktionieren, nur bei DIV
s bockt es.
Ich habe auch mit ID
s getestet, alles sehr komisch.
Als One-liner
document.getElementById("ElementID").addEventListener("click", funkClick);
funktioniert's, als Variable
let ElementID = document.getElementById("ElementID");
ElementID.addEventlistener("click", funkClick);
/*
Uncaught TypeError: Element.addEventlistener is not a function
*/
nicht.
Achte auf s/l/L/
💥👿💢😤💨⛈️🤬🔥 ❗❗❗
Dank dir für diesen Hinweis 😅
@@Gabi
Es scheint auch bei Objekten wie z.B.
IMG
s tadellos zu funktionieren, nur beiDIV
s bockt es.
div
s kann man nicht anclicken. img
s auch nicht.
Merke: Niemals nicht-interaktive Elemente als Target von Click-Events verwenden!
Verwende button
s!
🖖 Stay hard! Stay hungry! Stay alive! Stay home!