передача значения в функции eventListener - PullRequest
0 голосов
/ 18 мая 2009
for ( var i=0; i<thumbs.length; i++)
        {
            var num = i;
            Core.addEventListener(thumbs[i], "click",  Slide.thumbClick);
        }

в приведенном выше коде я хочу передать значение var num в обработчик событий thumbClick но я не в состоянии. если я пытаюсь отобразить это значение, оно дает неопределенное значение. Просьба помочь

Ответы [ 2 ]

1 голос
/ 18 мая 2009

Не помню точно, но вы должны быть в состоянии сделать что-то вроде этого:

Core.addEventListener(thumbs[i], "click", function() {
    //...do stuff here
});

var num должен быть доступен для этой анонимной функции.

0 голосов
/ 18 мая 2009

Один из способов сделать это - создать динамическую функцию.

Как то так. (Я основываюсь на своем опыте работы с другими языками, основанными на ECMAScript, вы можете перепроверить, чтобы убедиться, что это работает.)

for ( var i=0; i<thumbs.length; i++)
{
        var num = i;
        Core.addEventListener(thumbs[i], "click",  new function(evt){
            Slide.thumbClick(num);
        });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...