在input
框輸入的時候,當咱們監聽input
事件的時候,因爲input
事件是一旦輸入框內容發生改變就觸發咱們綁定的回調函數,在實際當中咱們每每會根據輸入框內容去發送一些請求,這樣一旦改變就觸發無疑是耗時的,並且影響性能,這個時候,咱們就能夠使用防抖動。實現的大概思路就是咱們能夠自定義隔多長時間來觸發咱們的處理操做(例如ajax
請求數據等)ajax
var timer = null element.input = function () { clearTimeout(timer) // 每次進來的時候都將以前的清除掉,若是還沒到一秒的時候就將以前的清除掉,這樣就不會觸發以前setTimeout綁定的事件, 若是超過一秒,以前的事件就會被觸發下次進來的時候一樣清除以前的timer timer = setTimeout(function () { // 在這裏進行咱們的操做 這樣就不會頻繁的進行咱們這裏面的操做了 }, 1000) }