gpt4 book ai didi

多个元素上的 Javascript 单击事件监听器并获取目标 ID

转载 作者:太空狗 更新时间:2023-10-29 13:05:28 26 4
gpt4 key购买 nike

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

最佳答案

您没有将文章对象作为参数传递给重定向。

试试这个(编辑):

articles = document.getElementsByTagName('article');
for (var i = 0; i < articles.length; i++) {
articles[i].addEventListener('click',redirect,false);
}
function redirect(ev){
alert(ev.target.id);
}

希望,它会解决这个错误。

关于多个元素上的 Javascript 单击事件监听器并获取目标 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com