我正在尝试创建一个搜索,您将文本输入到文本字段,并且onkeyup将触发一个功能,将该字段的值发送到页面,并将结果返回到div容器。我遇到的问题是,当有人打字时,有一个可怕的滞后。我想,发生了什么事情是试图搜索输入的每一封信,然后对每个请求进行搜索。我如何做到这一点,如果我输入框,等待1/2秒(500),如果没有输入,然后执行ajax搜索,但如果在那个时间框架另一个字母出现,不要甚至麻烦与ajax请求。我一直在捣毁我的头,不能弄清楚。所有的帮助是赞赏!
// fired off on keyup function findMember(s) { if(s.length>=3) $('#searchResults').load('/search.asp?s='+s); }
这样做会清除每次按下的超时时间,所以如果1/2秒没有通过该功能,那么再次设置一个定时器500ms。就是这样,没有必要加载一个大图书馆..
原文链接:https://www.f2er.com/ajax/160262.html$(document).ready(function() { var timeoutID = null; function findMember(str) { console.log('search: ' + str); } $('#target').keyup(function(e) { clearTimeout(timeoutID); timeoutID = setTimeout(findMember.bind(undefined,e.target.value),500); }); });