Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环数组并添加事件侦听器“;点击";每人_Javascript_Arrays_Onclicklistener_Addeventlistener - Fatal编程技术网

Javascript 循环数组并添加事件侦听器“;点击";每人

Javascript 循环数组并添加事件侦听器“;点击";每人,javascript,arrays,onclicklistener,addeventlistener,Javascript,Arrays,Onclicklistener,Addeventlistener,我试图遍历一个元素数组,并为每个元素添加一个事件侦听器 填充数组: var sliders = [].slice.call(document.getElementsByClassName("sliderControlLi")); sliders.forEach(function (i){ addEventListener("click", function(){ console.log("you clicked slider controler " + this.index + "

我试图遍历一个元素数组,并为每个元素添加一个事件侦听器

填充数组:

var sliders = [].slice.call(document.getElementsByClassName("sliderControlLi"));
sliders.forEach(function (i){
  addEventListener("click", function(){
    console.log("you clicked slider controler " + this.index + "!");
  });
});
在数组中迭代:

var sliders = [].slice.call(document.getElementsByClassName("sliderControlLi"));
sliders.forEach(function (i){
  addEventListener("click", function(){
    console.log("you clicked slider controler " + this.index + "!");
  });
});
但是有了这段代码,每当我点击任何一个滑块时,我都会得到多个console.log打印输出——数组中每个滑块一次

我已经寻找过类似的问题,但我仍然无法解决这个问题

谢谢你的帮助

您应该使用

EventTarget.addEventListener(...)
^^^^^^^^^^^^
那么你的情况呢

sliders.forEach(function (elem){
    elem.addEventListener(...);
});
您应该将用作:

target.addEventListener(type, listener[, options]);
您还可以从获取索引:

arr.forEach(function ( element_value,element_index ){ })
希望这有帮助

var sliders=[].slice.call(document.getElementsByClassName(“sliderControlLi”);
滑块.forEach(函数(元素、索引){
元素。addEventListener(“单击”,函数(){
log(“您单击了滑块控制器”+索引+“!”);
});
});
滑块1
滑块2
滑块3

滑块4
和什么是
addEventListener
?你在哪里引用元素来添加onclick?使用
i.addEventListener(..)
…相关元素的可能重复项你的意思是它应该是
sliders[i]。addEventListener(“单击”
…?如果我这样做,那么我会得到一个错误,“sliders.addEventListener不是函数”