Javascript 循环中的事件侦听器
所以我有一个eventListner,它调用一个类,就像一个符咒一样工作,但只有一次,因为inte调用了索引为0的add类 我正在尝试创建一个循环,它将调用脚本中的每个add类,但我无法获取循环 这是不带循环的事件列表器Javascript 循环中的事件侦听器,javascript,Javascript,所以我有一个eventListner,它调用一个类,就像一个符咒一样工作,但只有一次,因为inte调用了索引为0的add类 我正在尝试创建一个循环,它将调用脚本中的每个add类,但我无法获取循环 这是不带循环的事件列表器 var AddEvent = "add"; var addClass = document.getElementsByClassName(AddEvent)[0] addClass.addEventListener("click", addDiceEvent, false);
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();
函数AddDice(){
对于(i=0;i<5;i++){
var addClass=document.getElementsByClassName(“添加”);
addClass.addEventListener(“单击”,addDiceEvent,false);
函数addDiceEvent(){
dicedes_func();
}
}
}AddDice();
有什么想法吗?希望这项工作
var addClassArr= document.getElementsByClassName(AddEvent);
for (var x in addClassArr)
{
var addClass = addClassArr[x];
addClass.addEventListener("click", addDiceEvent, false);
}
function addDiceEvent() {
dicesides_funcfunc();
}
希望这项工作
var addClassArr= document.getElementsByClassName(AddEvent);
for (var x in addClassArr)
{
var addClass = addClassArr[x];
addClass.addEventListener("click", addDiceEvent, false);
}
function addDiceEvent() {
dicesides_funcfunc();
}
您需要在for循环中创建新的skope,请尝试以下操作:
function AddDice(){
for (i = 0; i < 5; i++) {
(function(){
var addClass = document.getElementsByClassName("add");
addClass.addEventListener("click", function(){
dicesides_funcfunc();
}, false);
})();
}
}
函数AddDice(){
对于(i=0;i<5;i++){
(函数(){
var addClass=document.getElementsByClassName(“添加”);
addClass.addEventListener(“单击”,函数(){
dicedes_func();
},假);
})();
}
}
您需要在for循环中创建新的skope,请尝试以下操作:
function AddDice(){
for (i = 0; i < 5; i++) {
(function(){
var addClass = document.getElementsByClassName("add");
addClass.addEventListener("click", function(){
dicesides_funcfunc();
}, false);
})();
}
}
函数AddDice(){
对于(i=0;i<5;i++){
(函数(){
var addClass=document.getElementsByClassName(“添加”);
addClass.addEventListener(“单击”,函数(){
dicedes_func();
},假);
})();
}
}
不要使用for..in
对数组(或类似数组的对象,如本例中的NodeList
)进行迭代,因为这也将枚举可能不相关的对象属性。对于(var i=0;i@MattiasBuelens当我添加您的字符串并将addClassArr[x]中的x更改为addClassArr[i]时,它起到了作用。谢谢你们:)不要使用for..in
对数组(或类似数组的对象,如本例中的节点列表
)进行迭代,因为这也将枚举可能不相关的对象属性。对于(var i=0;i@MattiasBuelens当我添加您的字符串并将addClassArr[x]中的x更改为addClassArr[i]时,它起到了作用。谢谢你们:)