很多時候我們都會利用 input 的 change 事件做搜索功能初嘹,如果觸發(fā) change 事件不做處理就直接去請求數(shù)據(jù)或者處理數(shù)據(jù)會做很多次操作,所以我們在 change 事件里面需要做個處理減少數(shù)據(jù)的請求或處理次數(shù)钢悲。
var searchTimeout,
delayTime = 400,
submitSearch = function() {
// do something ...
};
// 搜索
$(searchInput).change(function () {
// 存在定時器則清除定時器
!!searchTimeout && clearTimeout(searchTimeout);
// 重新設(shè)置定時器
searchTimeout = setTimeout(submitSearch, delayTime);
});
思路就是利用定時器做個延遲的搜索点额,這樣輸入相隔時間小于 delayTime 的時候不會去處理搜索,當(dāng)輸入完成再去處理搜索莺琳。