JavaScript - Как добавить событие onclick, динамически передавая определенное значение? - PullRequest
3 голосов
/ 25 ноября 2011

Не могли бы вы взглянуть на образец кода

http://jsfiddle.net/vXvs2/

Я не знаю, ясно ли это, но он должен показать, что было i, когда было создано событие. Вместо этого я думаю, что при запуске события отображается значение i.

Как бы я решил мою проблему?

1 Ответ

6 голосов
/ 25 ноября 2011

Оберните тело цикла в функцию, чтобы создать замыкание:

for(var i = 0; i < arr.length; i++){
    (function(i){ //i inside this function is a local var; not affected by i++
        arr[i].onclick = function(){
            alert(i);
            return false;
        };
    })(i); //Invoke the function, pass variable i 
}

Скрипка: http://jsfiddle.net/vXvs2/4/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...