Ich habe eine Javascript-Datei, die einen EventListener von "Klick" auf jedes Element mit dem <article>
-Tag setzt. Ich möchte die ID des Artikels abrufen, wenn das Ereignis ausgelöst wird. Aus irgendeinem Grund produziert mein Code nichts!JavaScript Klick Ereignis Listener auf mehrere Elemente und Ziel-ID
Mein javascript:
articles = document.getElementsByTagName('article');
articles.addEventListener('click',redirect(e),false);
function redirect(e){
alert(e.target.id);
}
Warum ist das nicht funktioniert? Übrigens ist mein Artikel-Setup in einer Funktion, die aufgerufen wird, wenn das Fenster geladen wird, und ich weiß, dass das sicher funktioniert, weil diese Funktion andere Sachen hat, die funktionieren.
EDIT
So fixierte ich meinen Code, um es so schlingt und den Hörer zu jedem Artikel Element hinzufügen, und ich bekomme jetzt eine Warnung mit nichts drin. Wenn die Ausgabe der e.target ohne die ID versucht, erhalte ich die folgende Meldung für jedes Element:
[object HTMLHeadingElement]
Irgendwelche Vorschläge?
ANOTHER EDIT
Mein aktueller Javascript-Code:
function doFirst(){
articles = document.getElementsByTagName('article');
for (var i = 0; i < articles.length; i++) {
articles[i].addEventListener('click',redirect(articles[i]),false);
}
}
function redirect(e){
alert(e.id);
}
window.addEventListener('load',doFirst,false);
Dies ist meine Alertbox zeigt, wenn die Seite fertig geladen, ohne zu bedenken, dass ich nicht einen Mucks geklickt haben, : O
Dies zeigt die IDs, aber bevor ich überhaupt auf das Element klicke! Wie kann ich das lösen? – arielschon12
@ arielschon12: Ich habe es nicht verstanden, was willst du sagen, sagst du, dass es Alarm zeigt, auch ohne das Element zu klicken. Es ist nicht möglich. –
Das ist genau das, was passiert. In dem Moment, in dem die Seite geladen wird, erhalte ich Alarmfelder mit Element-IDs. – arielschon12