Спасибо большое!!!!!!!!! Я так тупил... У меня был следующий код для теста:
for (var i = 0; i < a.length; i++) {
a[i].addEventListener('click', (function (i){
console.log(i);
}(i)), false);
}
Естественно он сразу же и срабатывал.
И я сидел думал ну как еще можно повесить событие на элемент. А потом с помощью вашего решения понял что мне просто внутри нужно вернуть функцию и все будет работать!
for (var i = 0; i < a.length; i++) {
a[i].addEventListener('click', (function (i){
return function () {
console.log(i);
}
}(i)), false);
}
Спасибо!