延遲使用者鍵入停止的.keyup() 處理程序
在搜尋欄位中,對每次按鍵的立即AJAX 搜尋可能會導致交通量過多。為了緩解這種情況,需要實現延遲,僅當用戶停止輸入時才允許搜尋。
為了實現這一點,提供的程式碼片段利用了delay() 函數。此函數在指定時間後或在快速觸發事件(如調整大小)時執行回呼。它的使用方法如下:
function delay(callback, ms) { var timer = 0; return function() { var context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function () { callback.apply(context, args); }, ms || 0); }; } // Example usage: $('#input').keyup(delay(function (e) { console.log('Time elapsed!', this.value); }, 500));
在此範例中,delay() 函數用於在使用者停止在 #input 欄位中輸入 500 毫秒時延遲控制台日誌的執行。這可確保僅在使用者完成輸入後才執行 AJAX 搜尋。
以上是如何延遲 Keyup 處理程序以防止用戶打字期間出現過多的 AJAX 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!