Jquery 搜索等待用户输入完成时自动执行

$('#fuzzySearchBox').on('keyup', function (event) {
var searchStr = $(this).val().toLowerCase();
//if (searchStr.length > 0) {//(e.which == 13) {
lastTime = event.timeStamp;
setTimeout(function () {
//如果时间差为0,也就是你停止输入1s之内都没有其它的keyup事件产生,这个时候就可以去请求服务器了
if (lastTime - event.timeStamp == 0) {
FuzzySearch(searchStr);
}
}, 1000);

//}
});

原理其实很简单,只要在keyup的时候记住当前keyup事件,跟下一次keyup时间对比,如果时间差为零则表明用户不在输入,即可执行查询,等到时间为毫秒。自动调整合适就可。

你可能感兴趣的:(Jquery 搜索等待用户输入完成时自动执行)