У меня есть текстовые поля, которые используют AJAX и будут обрабатывать то, что пользователь вводит при вводе. Проблема в том, что процесс, который происходит после их ввода, является довольно загруженным. Есть ли в любом случае, что я могу заставить событие ждать 500 мсек или около того, прежде чем он обработает событие еще раз? Итак, скажем, я печатаю a
, а затем через 200 мс после ввода bsdke
. Событие обработает только a
. Скажем, я тогда набираю asdf
600 мс после того, как набрал a
. Событие затем инициирует и обрабатывает absdkeasdf
, потому что после последнего процесса прошло 500 мс.Как сделать jQuery ждать после события
Или даже есть способ, которым я могу сделать событие не срабатывающим до тех пор, пока предыдущее событие, которое было вызвано, не закончило то, что он делал?
Возможно ли это? Разумеется, в конце функция тайм-аута не будет работать, верно?
$('#selection1-3-4-a, #selection1-3-4-b, #selection1-3-4-c, #selection1-3-4-d, #selection1-3-4-e, #selection1-3-4-f').on('input', function (e) {
var url = "/ex.php";
$.ajax ({
//......
});
да, это называется дребезга или дросселирования (в зависимости от того, хотите ли он послать первый запрос, и один раз в п мс, или если вы хотите, чтобы не посылать любые до п мс не прошло без ввода) –
Является ли вся введенная строка отображаемой на экране, когда она набрана, или отображает задержку? – nurdyguy