Обновить глобальную переменную внутри функции, вызываемой addEventListener - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь обновить глобальную переменную с помощью события mousemove, но оно не работает. Я не знаю, что еще я могу сделать.

Я попытался создать переменную для своей функции, чтобы использовать ее повторно, но безрезультатно.

Мой код:

let delta = 0;

window.addEventListener('mousemove', updateDelta, false);

function updateDelta() {
   delta++;
}

console.log(delta);

Поэтому, когда я перемещаю курсор, дельта не обновляется вне функции.

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 26 января 2019

Я пытаюсь обновить глобальную переменную с помощью события mousemove, но оно не работает.

Проблема не в объеме.

Он в console.log вызывается сразу после запуска функции, поэтому он показывает только начальное значение.Вы можете попробовать приведенный ниже метод вызова функции для печати

var delta = 0;
window.addEventListener('mousemove', updateDelta, false);

function updateDelta() {
   delta++;  
   print()
}
function print(){
console.log(delta);}

ИЛИ

, как указано в комментариях и других ответах, вы можете распечатать значение сразу после увеличения.

var delta = 0;
window.addEventListener('mousemove', updateDelta, false);

function updateDelta() {
   delta++;  
  console.log(delta);
}

Оба отлично подойдут для вас.

0 голосов
/ 26 января 2019

этот код работает нормально, но проблема в том, что у вас есть console.log сразу после этой функции, что означает, что консольный журнал запускается сразу после его запуска.

Вы можете использовать инструменты разработчика в Google Chrome и добавить для него точку останова, чтобы убедиться, что она работает.

Также вы можете поместить этот консольный журнал в функцию и запустить его обновление.

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