gpt4 book ai didi

javascript - 有什么方法可以将事件监听器添加到类中吗?

转载 作者:行者123 更新时间:2023-11-30 13:58:36 24 4
gpt4 key购买 nike

所以我正在制作一个网络托管游戏,并且我正在尝试向类(class)中添加一个事件。

我真的无法在网上找到一些有用的信息,所以我尝试使用

document.getElementsByClassName("class").addEventListener("click", function(){…}); 

我想让它测试是否单击了类中的某个项目,但它一直出现这样的错误 - BattleMode.js:4 Uncaught TypeError: document.getElementsByClassName(...).addEventListener 不是函数 在 BattleMode.js:4;如果我尝试做任何其他事情,它不会感知到具有特定属性的 div。

最佳答案

是的。请记住 getElementsByClassName() 是复数 - Elements:

var elements = document.getElementsByClassName("class");

for (var i=0; i<elements.length; i++) {
elements[i].addEventListener("click", function(){…});
}

请注意,getElementsByClassName() 不返回数组。相反,它返回一个 NodeList,它是一个类似数组的对象。所以像 .map(), .forEach() 等常用的数组方法是不可用的。 NodeLists 确实有一个 .length 属性,所以你可以迭代它们。

不过,您可以使用 Array.fromslice() 将它们转换为数组:

Array.from(document.getElementsByClassName("class"))
.forEach(function(element){
element.addEventListener("click", function(){…});
});

关于javascript - 有什么方法可以将事件监听器添加到类中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56763768/

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