ユーザーの入力停止のためのキーアップ イベント ハンドラーの遅延
対話型ユーザー インターフェイスでは、多くの場合、ユーザーが入力を終了した後にのみアクションを実行することが望ましいです。データを入力しています。各キーアップに対して AJAX クエリを実行する検索フィールドを考えてみましょう。デフォルトでは、これにより、入力文字列が最も短い場合でも、多数の検索リクエストが発生します。
この過剰なクエリを防止し、ユーザー エクスペリエンスを向上させるために、指定された期間の後にのみアクションを実行する遅延メカニズムを実装できます。非活動性の。ネイティブのキーアップ関数には遅延機能が組み込まれていませんが、遅延と呼ばれる単純な関数を使用して目的を達成できます。
遅延関数は 2 つの引数を取ります:
遅延関数は基本的にスロットルを作成し、コールバックがあまりにも頻繁に呼び出されるのを防ぎます。サンプル実装は次のとおりです。
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); }; }
この遅延を検索フィールドに適用するには、次のように使用できます。
$('#input').keyup(delay(function (e) { // Perform your search logic here }, 500));
ここでは、検索ロジックは 500 ミリ秒のみ実行されます。最後のキーアップ イベントの後、よりユーザー フレンドリーなエクスペリエンスが提供されます。
以上がユーザー入力中の過剰なアクションを防ぐためにキーアップ イベント ハンドラーを遅らせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。