JQuery怎么做ajax的延时操作?
1个回答
展开全部
满意答案ㄒo┌;莞鎂9级2009-12-23你这个是要求输入文本后一秒,这个一秒是怎么判断?文字增加一个后一秒还是输入完成后等一秒?你先判断字符串是否增加了1,是的话就执行setTimeout(function(){$.ajax{//AJAX请求}},1000); //1000为延时时间 追问: 我需要判断文字输入完后的一秒·需要怎么做啊?顺便问一下·我用keyup时间来触发这个setTimeout事件从而进行ajax查询,但是打比方我在文本框输入了10个字符·会触发10次keyup事件·则会执行ajax查询10次·我要怎么做才能只执行一次ajax的查询? 回答: 你用setTimeout判断字符是否增加了1个,就是在一秒后看字符串是否和一秒前相等(不能比较是否增加,因为有可能退格而减少),如果是,就不执行ajax查询,如果没有增加,就执行ajax查询 追问: 能写部分代码上来看看嘛?我的jquery水平不太好· 回答: <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>延迟AJAX</title>
<script language="javascript" src="jquery.js"></script><script><!--$(document).ready(function(){
$("#key").keyup(function(){
var a=$("#key").val();
setTimeout(function(){
var b=$("#key").val();
if(a==b){//执行AJAX
$.ajax(//ajax操作);//alert("执行AJAX");
}else{//不执行AJAX
//alert("不执行AJAX");
return flase;}
<title>延迟AJAX</title>
<script language="javascript" src="jquery.js"></script><script><!--$(document).ready(function(){
$("#key").keyup(function(){
var a=$("#key").val();
setTimeout(function(){
var b=$("#key").val();
if(a==b){//执行AJAX
$.ajax(//ajax操作);//alert("执行AJAX");
}else{//不执行AJAX
//alert("不执行AJAX");
return flase;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询