Чтобы событие обрабатывалось только один раз в секунду в JavaScript, можно использовать метод setTimeout и флаг проверки времени последнего срабатывания.
Вот пример кода:
let lastExecutionTime = 0; function handleEvent() { const currentTime = Date.now(); // Проверяем, прошла ли секунда с момента последнего срабатывания if (currentTime - lastExecutionTime > 1000) { console.log("Событие обработано"); // Обновляем время последнего срабатывания lastExecutionTime = currentTime; } } // Привязываем обработчик события к элементу (например, кнопке) const button = document.querySelector("button"); button.addEventListener("click", handleEvent);
Когда событие происходит (например, клик по кнопке), функция handleEvent вызывается. Внутри функции мы сравниваем текущее время с временем последнего срабатывания. Если прошло больше секунды, выводится сообщение "Событие обработано" и обновляется время последнего срабатывания.
Таким образом, при повторных событиях в течение секунды функция handleEvent не будет вызываться, пока не пройдет одна секунда с момента последнего срабатывания.