Как передать аргументы addEventListener функции слушателя?

274
задан SnareChops 30 January 2016 в 02:37
поделиться

3 ответа

Нет абсолютно ничего неправильно с кодом, который Вы записали. И some_function и someVar должно быть доступным, в случае, если они были доступны в контексте, где анонимный

function() { some_function(someVar); } 

был создан.

Проверка, если предупреждение дает Вам значение, которое Вы искали, быть уверенными, что это будет доступно в пределах анонимной функции (если у Вас не будет большего количества кода, который воздействует на тот же someVar переменная рядом с вызовом к addEventListener)

var someVar; 
someVar = some_other_function();
alert(someVar);
someObj.addEventListener("click", function(){
    some_function(someVar);
}, false);
187
ответ дан Tolga Evcimen 23 November 2019 в 02:11
поделиться

someVar значение должно быть доступным только в some_function() контекст, не от слушателя. Если Вам нравится иметь его в слушателе, необходимо сделать что-то как:

someObj.addEventListener("click",
                         function(){
                             var newVar = someVar;
                             some_function(someVar);
                         },
                         false);

и использование newVar вместо этого.

другой путь состоит в том, чтобы возвратиться someVar значение от some_function() для использования его далее в слушателе (как новый локальный var):

var someVar = some_function(someVar);
9
ответ дан Thevs 23 November 2019 в 02:11
поделиться

просто хотел бы добавить. если кто-либо добавляет функцию, которая обновляет флажки слушателю события, необходимо было бы использовать event.target вместо this для обновления флажков.

0
ответ дан 23 November 2019 в 02:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: