我是 javascript 的初学者,我想不出解决以下问题的方法。我在这个例子中使用了 Mootools,虽然这不是 Mootools 的问题:
for (var i = 0; i < 5; i++) {
myElement[i].addEvent('click', function () { otherFunction(i); });
}
每当有人单击 myElement 时,调用 otherFunction(好)但传递 5(坏)。我知道这是因为它在循环完成后(当他们单击元素时)访问我,但除了单调之外,我想不出任何替代方案
switch(i) {
case 1: myElement[i].addEvent('click', function () { otherFunction(1); }); break;
case 2: myElement[i].addEvent('click', function () { otherFunction(2); }); break;
// ...
}
必须有更好的方法......我觉得我错过了一些明显的东西
更新:向 myElement 添加了 [i] 索引(哎呀)
谢谢,卡梅伦