我正在使用以下 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 );
});
});
新想法:当我想到这个问题时,问题是当函数运行时我无法继续在输入字段中写入。任何解决方案,我都不需要任何延迟功能。
function instantSearch(){ ... }
var timer;
$('input').keyup(function(){
timer && clearTimeout(timer);
timer = setTimeout(instantSearch, 200);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)