我有一個JavaScript文件,設置一個EventListener'點擊'每個元素與<article>
標記。我希望獲得事件發生時點擊的文章的ID。出於某種原因,我的代碼什麼都不產生!Javascript單擊多個元素的事件監聽器,並獲取目標ID
我的javascript:
articles = document.getElementsByTagName('article');
articles.addEventListener('click',redirect(e),false);
function redirect(e){
alert(e.target.id);
}
爲什麼不是這方面的工作?順便說一句,我的文章設置是在窗口加載時調用的一個函數,我知道這是可以肯定的,因爲該函數還有其他工具可用。
編輯
所以我修好了我的代碼,所以它將循環和監聽器添加到每一篇文章元素,現在我得到什麼也沒有一個警告框。當試圖輸出不帶ID的e.target時,我會收到以下每個元素的消息:
[object HTMLHeadingElement]
有什麼建議嗎?
ANOTHER編輯
我當前的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);
這顯示了當頁面加載完成,沒有考慮到我還沒有點擊一個該死的東西我的警告框:O
這是顯示的ID,但之前,我甚至點擊該項目!我該如何解決這個問題? – arielschon12
@ arielschon12:我沒有得到它你想說什麼?你是否說它顯示警報,即使沒有點擊元素。這是不可能的。 –
這正是發生的情況。在頁面加載的那一刻,我得到了彈出元素ID的警告框。 – arielschon12