ホームページ >ウェブフロントエンド >jsチュートリアル >ユーザー入力中の過剰な AJAX リクエストを防ぐためにキーアップ ハンドラーを遅らせるにはどうすればよいですか?
ユーザーの入力停止のために .keyup() ハンドラーを遅延します
検索フィールドで、キーを押すたびに即時 AJAX 検索が行われる可能性があります。過剰なトラフィック。これを軽減するには、遅延を実装して、ユーザーが入力をやめたときにのみ検索を許可することが望ましいです。
これを実現するために、提供されているコード スニペットでは、lay() 関数を利用します。この関数は、指定された時間の経過後、またはサイズ変更などの急速に発生するイベントでコールバックを実行します。使用方法は次のとおりです:
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));
この例では、ユーザーが #input フィールドへの入力を停止したときにコンソール ログの実行を 500 ミリ秒遅らせるために、lay() 関数が使用されています。これにより、ユーザーが入力を完了した後にのみ AJAX 検索が実行されるようになります。
以上がユーザー入力中の過剰な AJAX リクエストを防ぐためにキーアップ ハンドラーを遅らせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。