1

所以我有这个调用类的 eventListner,就像一个魅力,但只有一次,因为 inte 调用索引为 0 的 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();

有任何想法吗 ?

4

2 回答 2

1

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

var addClassArr= document.getElementsByClassName(AddEvent);

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

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

}

function addDiceEvent() {
      dicesides_funcfunc();
}
于 2013-02-02T17:07:29.730 回答
0

您需要在 for 循环中创建新的 skope,试试这个:

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

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

                addClass.addEventListener("click", function(){
                    dicesides_funcfunc();
                }, false);
            })();
        }
}
于 2013-02-02T17:19:34.247 回答