Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как присвоить событию функцию (https://javascript.ru/forum/events/39388-kak-prisvoit-sobytiyu-funkciyu.html)

beejuice 27.06.2013 20:04

Как присвоить событию функцию
 
Мне необходимо в цикле присвоить нескольким элементам функцию на событие onclick.


for(var i=0; i<5; i++){

document.getElementById('color_'+i).onclick = function(){ alert(i); }
		
}


Проблема в том, что каждый элемент при событии onclick выводит последнее значение переменной i, а именно 5. А мне нужно чтобы было: 0, 1, 2, 3, 4. То есть при назначении функции, переменная i со своим текущим значением была для нее как константа.

рони 27.06.2013 20:11

beejuice,
Пример ошибочного использования

beejuice 27.06.2013 20:22

Спасибо. Причину я понимал, не знал как лучше ее обойти.


Часовой пояс GMT +3, время: 15:24.