jquery – 等待功能,直到用户停止打字

前端之家收集整理的这篇文章主要介绍了jquery – 等待功能,直到用户停止打字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有用户在打字时拨打电话.问题是它使每个字母都被打字的呼叫,所以我设置这样的超时时间:
$(input).live('keyup',function(e){

setTimeout(function(){ 

var xx = $(input).val();
doSearch(xx); 

},400); 

});

它等待400ms,然后执行每个键控.在最后输入一封信之后约400ms时,如何更改ajax调用仅“一次”?

(我过去使用’延迟’,但是根本不符合我的脚本…)

解决方法

timer = 0;
function mySearch (){ 
    var xx = $(input).val();
    doSearch(xx); 
}
$(input).live('keyup',function(e){
    if (timer) {
        clearTimeout(timer);
    }
    timer = setTimeout(mySearch,400); 
});

最好将你的函数移动到一个命名的函数调用它多次,因为否则你正在每个keyup创建另一个lambda函数,这是不必要的,而且比较贵

猜你在找的jQuery相关文章