JS问题:在onKeyUp按钮中调用方法,Ajax猜想姓名,发现在输入第一个字后输入第二个字ie很卡,如何延迟

linmen1983 2008-11-25 10:41:50
我实验过setTimeout实现延迟,在onkeyUp方法中调用这个方法,发现查询次数过多,我怀疑因为每次释放都开启那个查询的方法,开始计算时间,时间到了就会调用查询方法,这样会导致查询很多次一样的结果,不能达到我所想要的效果,我想法是,在一段时间之内输入,后台不查找,当时间到的时候,根据文本框的内容去查询
<input type="text" name="NAME" id="NAME" title="名字"
onKeyUp="delaySelect()"/>

js:
function delaySelect()
{
setTimeOut("getNames()",5000);
}
function getNames()
{
//ajax....
}
如何修改呢
谢谢大家的指教!!
...全文
314 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
不悲不喜 2008-11-25
  • 打赏
  • 举报
回复

var t;
function delaySelect() {
window.clearTimeout(t);
t=window.setTimeout("getNames()",5000);
}


toury 2008-11-25
  • 打赏
  • 举报
回复
不要早onkeyup里直接ajax,那要把计算机累坏了,呵呵
用 if(keycode==13){ajax..........} (FF里用charCode==13)
意思就是当你输入完你需要的关键字以后,回车查询;
不悲不喜 2008-11-25
  • 打赏
  • 举报
回复
在设置timeout前把之前的timeout清除掉.
var t;
function delaySelect()
{
clearTimeout(t);
t=setTimeout("getNames()",5000);
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧