我有一个 javascript 文件,它在每个带有<article>
标签的元素上设置了一个“点击”的 EventListener 。我想在事件触发时获得点击的文章的 ID。出于某种原因,我的代码什么也没产生!
我的javascript:
articles = document.getElementsByTagName('article');
articles.addEventListener('click',redirect(e),false);
function redirect(e){
alert(e.target.id);
}
为什么这不起作用?顺便说一句,我的文章设置在加载窗口时调用的函数中,我知道这肯定有效,因为该函数还有其他可用的东西。
编辑
所以我修复了我的代码,这样它就会循环并将监听器添加到每个文章元素,现在我得到一个没有任何内容的警报框。当尝试输出没有 ID 的 e.target 时,我收到每个元素的以下消息:
[object HTMLHeadingElement]
有什么建议?
另一个编辑
我当前的 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