Замыкания в цикле вызывают у меня проблемы. Я думаю, что мне нужно создать другую функцию, которая возвращает функцию для решения проблемы, но я не могу заставить ее работать с моим кодом jQuery.
Вот основная проблема в упрощенном виде:
function foo(val) {
alert(val);
}
for (var i = 0; i < 3; i++) {
$('#button'+i).click(function(){
foo(i);
});
}
Естественно, нажатие на любую из трех кнопок выдаст предупреждение 3. Функциональность, которую я хочу, заключается в том, что нажатие на кнопку 1 выдаст предупреждение 1, на кнопке 2 будет 2 и т. Д.
Как мне это сделать?