Javascript click-Ereignis-listener auf mehreren Elementen und Ziel-ID bekommen

Habe ich eine javascript-Datei, legt ein EventListener, der 'Klick' auf jedes element mit der <article> tag. Ich möchte die id von dem Artikel geklickt werden, wenn das event feuert. Aus irgendeinem Grund, mein code produziert nichts!

Meine javascript:

articles = document.getElementsByTagName('article');
articles.addEventListener('click',redirect(e),false);
function redirect(e){
alert(e.target.id);
}

Warum das nicht funktioniert? BTW mein Artikel-setup ist in einer Funktion, die aufgerufen wird, wenn das Fenster geladen ist, und ich weiß, dass funktioniert sicher, weil die Funktion hat, andere Sachen, die funktionieren.


BEARBEITEN

Also habe ich Fix mein code also es wird Schleife und fügen Sie den listener zu jedem Artikel-element, und jetzt bekomme ich eine alert-box mit nix drin. Wenn Sie versuchen, um die Ausgabe der e.Ziel ohne die ID, bekomme ich die folgende Nachricht für jedes element:

[object HTMLHeadingElement]

Irgendwelche Vorschläge?


NOCH EIN EDIT

Meine aktuellen 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 zeigt meiner alert-Boxen, wenn die Seite fertig geladen ist, ohne zu berücksichtigen, dass ich noch nicht geklickt wurde eine verdammt Sache :O

InformationsquelleAutor arielschon12 | 2012-12-15
Schreibe einen Kommentar