gpt4 book ai didi

javascript - 无法将事件处理程序注册到 javascript 中的元素数组

转载 作者:行者123 更新时间:2023-12-02 14:38:47 25 4
gpt4 key购买 nike

function recordData(){
var element = document.getElementsByClassName("bubble");
for(var i = 0; i < element.length; i++){
element[i].addEventListener("click", function(){
var id = element[i].attributes.id.value;
var x_cordinate = element[i].children[2].attributes.x.value;
var y_cordinate = element[i].children[2].attributes.y.value;
var keyword = element[i].children[0].textContent;
clicked_elements.push({
id: id,
x_cordinate: x_cordinate,
y_cordinate: y_cordinate,
keyword: keyword
})
}, false);
}
}

当我尝试单击 html 中的元素时,它显示错误“未捕获的类型错误:无法读取未定义的属性‘属性’”。我无法在 addEventListener 方法中访问该特定元素的 id 和其他属性。如果我需要记录点击的内容,请解释我在这里做错了什么。

最佳答案

您不能在 addEventListener 回调中使用 i,因为它将在 for 循环结束后执行。

使用 this 而不是 elements[i] 来获取闭包内的当前元素。

关于javascript - 无法将事件处理程序注册到 javascript 中的元素数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37204989/

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