我有一个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