Всем привет. Это больше теоретический вопрос. А возможно ли в js установить задержку на, если можно так выразиться, невыполнение скрипта. Сейчас поясню) Допустим у меня есть блок при наведении на который, выводится алерт. Можно ли сделать так, чтобы алерт вывелся через секунду, но важно уточнить...алерт не должен показываться (функция не должна выполнится), если убрать курсор с блока сразу же. Т.е. курсор должен находиться на блоке какое-то время, чтобы скрипт выполнился
var $target = document.querySelector('#target');
var timeoutId;
$target.addEventListener('mouseenter', function () {
clearTimeout(timeoutId); // По идее, такого быть не должно, но я параноик
timeoutId = setTimeout(function () {alert(1);}, 2000);
});
$target.addEventListener('mouseleave', function () {
clearTimeout(timeoutId);
})