Mam plik javascript, który ustawia EventListener "kliknięcia" na każdym elemencie z tagiem <article>
. Chcę uzyskać identyfikator klikniętego artykułu po uruchomieniu zdarzenia. Z jakiegoś powodu mój kod nic nie produkuje!JavaScript nasłuchiwanie zdarzeń na wielu elementach i uzyskanie ID celu
Moje javascript:
articles = document.getElementsByTagName('article');
articles.addEventListener('click',redirect(e),false);
function redirect(e){
alert(e.target.id);
}
Dlaczego nie jest to działa? BTW moja konfiguracja artykułu jest w funkcji wywoływanej, gdy okno jest ładowane, i wiem, że działa na pewno, ponieważ ta funkcja ma inne rzeczy, które działają.
EDIT
więc naprawiłem mój kod tak, że będzie pętla i dodać słuchacza do każdego elementu artykułu, a teraz pojawia się okno ostrzeżenia ze nic w nim. Podczas próby wysłania e.target bez identyfikatora otrzymuję następujący komunikat dla każdego elementu:
[object HTMLHeadingElement]
Wszelkie sugestie?
KOLEJNA EDYCJA
Mój obecny kod javascript:
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);
To pokazuje moje pola powiadomienie, gdy strona zakończeniu ładowania, nie biorąc pod uwagę, że nie kliknął cholerstwa : O
To pokazuje identyfikatory, ale zanim kliknę pozycję! Jak mogę to rozwiązać? – arielschon12
@ arielschon12: Nie rozumiem, co chcesz powiedzieć? Mówisz, że pokazuje alert, nawet bez klikania elementu. To nie jest możliwe. –
To właśnie się dzieje. W momencie załadowania strony pojawiają się pola alertów z identyfikatorami elementów. – arielschon12