Почти то же самое, за исключением того, что таймер устанавливается только при выполнении условий:

отаю над функцией автоматического поиска для сайта.

Он использует ajax для запроса API.

В данный момент после ввода 3 символов он будет искать при каждом нажатии клавиши.

Что я хочу это

Случай 1:
Пользователь вводит тест
Выполнен поиск в течение 2 секунд

Вариант 2:
Пользователь вводит тест
1 второй проход
пользователь нажимает т
Проход 2 секунды
поиск выполняется на тесте
Вопрос 3:
Пользователь вводит тест
1 секунда проходит
пользователь нажимает т
1,5 секунды
пользователь нажимает я
1,5 секунды
пользователь нажимает n
1,5 секунды
пользователь нажимает г
Проход 2 секунды
поиск по выполненному тестированию

так что, как вы можете видеть, действие поиска выполняется только тогда, когда не было нажатий клавиш (или вставок) в течение двух секунд после нажатия клавиши.

моя основная идея заключается в

on keydown Вызов функции, которая устанавливает время ожидания, функция также устанавливает переменную, содержащую последнюю запись в текстовом поле. Когда время ожидания истекает, оно проверяет значение в поле, чтобы увидеть, соответствует ли оно значению в переменной.

Если они совпадают, то не было никаких изменений. Так что делать поиск

Если они ничего не предпринимают, то по истечении этого времени будет следовать тайм-аут от последующего нажатия клавиши.

Это единственный / лучший способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос