jQuery keyup事件需要在击键之间暂停

时间:2011-09-02 19:08:17

标签: ajax jquery

我有一个ajax方法可以触发keyup事件,但是我并不是真的希望它能够立即触发,每次用户按下一个键 - 理想情况下我希望延迟1-2秒去服务器,所以如果用户每隔1/2秒按一次键,当他们完成输入时(在没有输入任何内容的1-2秒之后),服务器只会有1次调用。

如何使用jQuery实现这一目标?

2 个答案:

答案 0 :(得分:7)

var timer = null;
$("#element").keyup(function(){
    clearTimeout(timer);
    timer = setTimeout(function(){
        //do your stuff
    }, 2000);
});

答案 1 :(得分:0)

var to;
$("elm").bind("keyup",function(){
  clearTimeout(to);
  to = setTimeout(function(){$.post()}, 3000);
});