Javascript 在集合上添加事件侦听器

Javascript 在集合上添加事件侦听器,javascript,events,Javascript,Events,如果我有一个具有相同类的集合,如何添加onclick事件侦听器而不影响该类的每个项 <div class = "overlay">etc. etc.</div> <div class = "overlay">etc. etc.</div> <div class = "overlay">etc. etc.</div> <div class = "overlay">etc. etc.</div> 试试看

如果我有一个具有相同类的集合,如何添加onclick事件侦听器而不影响该类的每个项

<div class = "overlay">etc. etc.</div>
<div class = "overlay">etc. etc.</div>
<div class = "overlay">etc. etc.</div>
<div class = "overlay">etc. etc.</div>
试试看:

x = document.getElementsByClassName("overlay");
for(var i = 0; i < x.length; i++){
    x[i].addEventListener("click", function() { this.classList.add("hide"); })
}
x=document.getElementsByClassName(“覆盖”);
对于(变量i=0;i
这是唯一的方法吗?有人向我提到了一种将click事件绑定到目标的方法,而不必使用纯JavaScript进行循环。这是最好的方法,但使用jQuery,您可以通过单个选择器来实现,无需任何迭代:$('.overlay')。单击(function(){$(this.addClass(“hide”);})
x = document.getElementsByClassName("overlay");
for(var i = 0; i < x.length; i++){
    x[i].addEventListener("click", function() { this.classList.add("hide"); })
}