Здравствуйте!
Никак не могу понять как работает сброс таймера
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);
Пример
Буду благодарен за простое разъяснение.