Как в jQuery передать в метод-обработчик события переменную во время инициализации?
Например.
Есть 10 одинаковых кнопок.
Мы получили их массив btn=$('button');
for (var i = 0; i < btn.length; i++) {
btn[i].click(function(event){
alert(i);
})
}
@MAXH0, суть в том, что для каждого обработчика создаётся замыкание, которое хранит i.
Уверяю, скорее всего более короткий способ от @iiil подойдет.
Просто посмотрите вот этот пример, чтобы избежать ошибки: jsfiddle.net/kityan/Z86at
Мы же не в курсе точно - есть ли еще у вас кнопки или нет.
Небольшая проблема может быть связана с тем, что при добавлении кнопок индексы начнут смещаться. Если не нужно фиксировать индексы - применимо. Если нужно - тогда можно воспользоваться .data() и установить для кнопок данные, к которым обращаться в click-обработчике.