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时间对比,如果时间差为零则表明用户不在输入,即可执行查询,等到时间为毫秒。自动调整合适就可。