//检测用户名是否存在 $('input[name="name"]').focus(function(){ $(".state1").html("用户名应该为3-20位之间"); }).keypress(function(){ if($(this).val().length >= 3 && $($(this)).val().length <=12 && $($(this)).val()!=''){ $.get("deal.php",{username:$("#name").val()}, function(data){ if(data.status==1){ $(".state1").html('用户名已存在'); ok1=false; }else{ $(".state1").html("用户名正确"); ok1=true; } },'json'); }else{ $(".state1").html("用户名应该为3-20位之间"); ok1=false; } });登录后复制 回复讨论(解决方案) ajax 需要访问服务端,有延时是必然的 你要使用这种动态效果,自然也要容忍他的缺点 ajax 需要访问服务端,有延时是必然的 你要使用这种动态效果,自然也要容忍他的缺点 用settimeout可以设置延迟时间吗? 不可以 访问服务器总是要花时间的 其实你如果真的感觉延迟很大(2秒以上),那么就应该考虑是否是你的网路不好,或服务端程序太烂 都是使用ajax的,说延迟太长,要么就是你服务器太差 这东西不可能秒查,除非你愿意把库里所有公司名搬到前端