我为即时搜索功能使用以下JavaScript(用于检测访问者何时停止写入,因此该功能不会在每个单独的键盘上运行)。使用Javascript的即时搜索功能
它可以工作,但比1000毫秒延迟更多。即使我将其设置为200毫秒,它在即时搜索功能运行之前的延迟为1-2秒。
有没有更好/更快的方式来检测访问者何时停止在输入中输入(如果这有什么区别,我只需要它的Internet Explorer)。
$(document).ready(function(){
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
$('input').keyup(function() {
delay(function(){
//instant search function here
}, 1000);
});
});
新想法:当我想到这个问题时,问题是我不能在函数运行时继续在输入字段中写入数据。任何解决方案,我不会需要任何延迟功能。
谢谢回答。不,我没有提出Ajax请求。但我明白你的意思(当然你是对的)。如果我用一个简单的警报功能替换搜索功能,也有类似的行为。当我想到这个问题时,我不能在函数运行时继续在输入字段中写入数据。任何解决方案,我不会需要任何延迟功能。 – Hakan 2011-03-21 21:48:27