jq keyup事件怎么延迟执行。
当我在输入框输入内容的时候,就进行ajax搜索。现在是每次输入一个就搜索,输入1就搜索一次;输入12,就搜索了两次。就我想延迟0.5执行,这样如果在0.5内输入12的时候...
当我在输入框输入内容的时候,就进行ajax搜索。现在是每次输入一个就搜索,输入1就搜索一次;输入12,就搜索了两次。就我想延迟0.5执行,这样 如果在0.5内输入12的时候就ajax只请求一次,减小了服务器的压力。
展开
2个回答
展开全部
$(document).ready(function(){
var last;
$(".input").keyup(function(event){//.input为你的输入框
last = event.timeStamp;//利用event的timeStamp来标记时间,这样每次的keyup事件都会修改last的值,注意last必需为全局变量
setTimeout(function(){ //设时延迟0.5s执行
if(last-event.timeStamp==0)//如果时间差为0(也就是你停止输入0.5s之内都没有其它的keyup事件发生)则做你想要做的事
{
//做你要做的事情
}
},500);
});
});
var last;
$(".input").keyup(function(event){//.input为你的输入框
last = event.timeStamp;//利用event的timeStamp来标记时间,这样每次的keyup事件都会修改last的值,注意last必需为全局变量
setTimeout(function(){ //设时延迟0.5s执行
if(last-event.timeStamp==0)//如果时间差为0(也就是你停止输入0.5s之内都没有其它的keyup事件发生)则做你想要做的事
{
//做你要做的事情
}
},500);
});
});
2012-05-10
展开全部
setTimeout();
例:
setTimeout("alert('0.5 seconds!')",500);
例:
setTimeout("alert('0.5 seconds!')",500);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询