Я немного новичок в 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;
// ...
}
Должен быть лучший способ ... Я чувствую, что упускаю что-то очевидное
ОБНОВЛЕНИЕ: добавлен индекс [i] в myElement (упс)
Спасибо,
Cameron