@Shimpanze

JavaScript: почему не работает функция?

Здравствуйте!

Никак не могу понять как работает сброс таймера clearTimeout(). Написал простой сниппет, со следующим алгоритмом:.

1. После каждого нажатия клавиш - запускается таймер и начинается отсчет 2 секунд;
2. после каждого последующего нажатия - таймер сбрасывается и начинает отсчет заново;
3. если нажатий не было больше 2 секунд - выводим в консоль сообщение.

Сам сниппет:

function a() {
  // сначала сбрасываем таймер
  clearTimeout(timer);

  // если нажатий небыло больше чем 2 секунды - запускаем выполнение функции
  var timer = setTimeout(function() { 
    console.log('Выполнение...');
    return false; // почему здесь не срабатывает false и сообщение выводится 100 раз?
  }, 2000);
}

document.getElementById('content').addEventListener('keyup', a);


Пример

Буду благодарен за простое разъяснение.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 2
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
KUPIBILET.RU Санкт-Петербург
от 100 000 до 130 000 руб.
HTML Academy Москва
от 85 000 до 100 000 руб.