循环中的事件监听器

时间:2013-02-02 17:03:33

标签: javascript

所以我有这个调用类的eventListner,就像魅力一样,但只有一次因为inte调用带有索引0的add类。

我试图创建一个循环来调用脚本中的每个add类,但我不能得到循环......

这是没有循环的事件列表器

var AddEvent = "add";
var addClass = document.getElementsByClassName(AddEvent)[0]
addClass.addEventListener("click", addDiceEvent, false);
function addDiceEvent() {
      dicesides_funcfunc();
} 

这就是我想要创造的东西。

function AddDice(){
        for (i = 0; i < 5; i++) {
            var addClass =  document.getElementsByClassName("add");
            addClass.addEventListener("click", addDiceEvent, false);
            function addDiceEvent(){
            dicesides_funcfunc();
            }
        }

}  AddDice();

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

希望这项工作.......

var addClassArr= document.getElementsByClassName(AddEvent);

for (var x in addClassArr)
 {
var addClass = addClassArr[x];

addClass.addEventListener("click", addDiceEvent, false);

}

function addDiceEvent() {
      dicesides_funcfunc();
}

答案 1 :(得分:0)

你需要在for循环中创建新范围,试试这个:

function AddDice(){
        for (i = 0; i < 5; i++) {

            (function(){       
            var addClass =  document.getElementsByClassName("add");

                addClass.addEventListener("click", function(){
                    dicesides_funcfunc();
                }, false);
            })();
        }
}