[英]Event listener in a loop
So I have this eventListner that calls an Class, works like a charm but only once since inte call the add class with index 0. 所以我有一个eventListner,它调用一个类,就像一个超级按钮一样工作,但是自从它以索引0调用add类以来,它只有一次。
Im trying to create a loop that will call every add class inside the script, but i cant get loop... 我试图创建一个循环,该循环将调用脚本中的每个添加类,但我无法获得循环...
This is the event listner without the loop 这是没有循环的事件列表器
var AddEvent = "add";
var addClass = document.getElementsByClassName(AddEvent)[0]
addClass.addEventListener("click", addDiceEvent, false);
function addDiceEvent() {
dicesides_funcfunc();
}
And this is what Im trying to create. 这就是我试图创造的。
function AddDice(){
for (i = 0; i < 5; i++) {
var addClass = document.getElementsByClassName("add");
addClass.addEventListener("click", addDiceEvent, false);
function addDiceEvent(){
dicesides_funcfunc();
}
}
} AddDice();
Any ideas ? 有任何想法吗 ?
Hope this work....... 希望这项工作.......
var addClassArr= document.getElementsByClassName(AddEvent);
for (var x in addClassArr)
{
var addClass = addClassArr[x];
addClass.addEventListener("click", addDiceEvent, false);
}
function addDiceEvent() {
dicesides_funcfunc();
}
You need to create new skope in for loop, try this: 您需要在for循环中创建新的skope,请尝试以下操作:
function AddDice(){
for (i = 0; i < 5; i++) {
(function(){
var addClass = document.getElementsByClassName("add");
addClass.addEventListener("click", function(){
dicesides_funcfunc();
}, false);
})();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.