Как отследить, что в input-е перестал набираться текст?

Есть input (text).
Как-то можно реализовать следующее:
человек начинает вводить текст в input, и если после последнего набранного символа прошла, к примеру секунда, выполняется функция.
Т.е., пока набирается текст, функция не срабатывает, закончили набирать - сработала.
Событие change не подходит, событие input срабатывает после каждого введенного символа (тоже не подходит).
  • Вопрос задан
  • 653 просмотра
Решения вопроса 2
pterodaktil
@pterodaktil
js developer
debounce
import debounce from "lodash/debounce";

const TIME_OUT = 1000;
const handleSearch = debounce(({ target: { value } = {} }) => {
  //что-то делаем
}, TIME_OUT)

$yourInput.addEventListener("input", handleSearch, false);
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вешаете событие на input.
По событию уничтожаете таймер, если он есть, и запускаете новый таймер на секунду.
По таймеру выполняете нужную функцию.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы