Я пытаюсь выполнить итерацию по массиву элементов и добавить слушателя событий к каждому из них.Прокрутите массив и добавьте прослушиватель событий «нажмите» для каждого
Наполнение массив:
var sliders = [].slice.call(document.getElementsByClassName("sliderControlLi"));
Перебор массива:
sliders.forEach(function (i){
addEventListener("click", function(){
console.log("you clicked slider controler " + this.index + "!");
});
});
Но с этим кодом, всякий раз, когда я нажимаю на любой из ползунков, которые я получаю несколько console.log распечаток - один раз каждый слайдер в массиве.
Я искал похожие проблемы, но я все еще не могу решить эту проблему.
Спасибо за помощь!
И что 'addEventListener'? Где вы ссылаетесь на элемент, чтобы добавить onclick? – epascarello
Используйте 'i.addEventListener (..)' ... –
Возможный дубликат [Закрытие JavaScript внутри цикла - простой практический пример] (http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple -practical-example) –