前端之家收集整理的这篇文章主要介绍了
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函数,这是不必要的,而且比较贵
原文链接:https://www.f2er.com/jquery/176029.html