Debouncing
Есть input.После того как мы перестали активно набирать, должен срабатывать alert.
function debounce() {
clearTimeout(timerId); //удаляем старый таймер, так как сгенерировалось //новое событие
timerId = setTimeout(fn_action,2000);
}
Техника состоит в том, что обработчик мы помещаем в таймер. При повторном вызове обработчика, таймер удаляется.
Еще одна реализация
<textarea>Напишите тут что-нибудь...</textarea>
<script>
var textarea = document.querySelector("textarea");
var timeout;
textarea.addEventListener("keydown", function() {
clearTimeout(timeout);
timeout = setTimeout(function() {
console.log("Вы остановились.");
}, 500);
});
</script>
Практика:
Форма для ввода пароля с проверкой на правильность. Проверка должна срабатывать, только когда пользователь перестал набирать.
Всплывающая подсказка. Пока мы водим курсором по объекту ничего не происходит. Когда курсор неподвижен какое-то время - всплывает подсказка
Когда курсор останавливается, вокруг него растет круг.