Javascript中的即时搜索功能

Hak*_*kan 2 javascript input delay onkeyup

我使用以下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 );
});

});
Run Code Online (Sandbox Code Playgroud)

新想法:当我想到它时,问题是当函数运行时我无法继续在输入字段中写入.任何解决方案,我将不需要任何延迟功能.

Mar*_*ahn 13

function instantSearch(){ ... }

var timer;
$('input').keyup(function(){
   timer && clearTimeout(timer);
   timer = setTimeout(instantSearch, 200);
});
Run Code Online (Sandbox Code Playgroud)