Событию keyQuery нужно сделать паузу между нажатиями клавиш - PullRequest
2 голосов
/ 02 сентября 2011

У меня есть метод ajax, который запускает событие keyup, но я не хочу, чтобы он срабатывал мгновенно, каждый раз, когда пользователь нажимает клавишу - в идеале, я хотел бы дать задержку 1-2 секунды, прежде чемвыход на сервер, поэтому, если пользователь нажимает клавишу каждые полсекунды, по окончании набора будет только 1 звонок на сервер (через 1-2 секунды после того, как он ничего не печатал).

Как я могу добиться этого с помощью jQuery?

Ответы [ 2 ]

7 голосов
/ 02 сентября 2011
var timer = null;
$("#element").keyup(function(){
    clearTimeout(timer);
    timer = setTimeout(function(){
        //do your stuff
    }, 2000);
});
0 голосов
/ 02 сентября 2011
var to;
$("elm").bind("keyup",function(){
  clearTimeout(to);
  to = setTimeout(function(){$.post()}, 3000);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...