ホームページ > ウェブフロントエンド > jsチュートリアル > ユーザー入力中の過剰な AJAX リクエストを防ぐためにキーアップ ハンドラーを遅らせるにはどうすればよいですか?

ユーザー入力中の過剰な AJAX リクエストを防ぐためにキーアップ ハンドラーを遅らせるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-14 20:44:11
オリジナル
524 人が閲覧しました

How Can I Delay a Keyup Handler to Prevent Excessive AJAX Requests During User Typing?

ユーザーの入力停止のために .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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート