問題:
ユーザーがトリガーせずにテキスト ボックスへの入力を完了したことを検出しますすべてのキーストロークに対するアクション。これは、Enter ボタンを押す必要を回避しながら、不要な AJAX リクエストを最小限に抑えることを目的としています。
解決策:
ユーザーが入力を終了したタイミングを判断するには、タイマー ベースのというアプローチを採用することができます。 jQuery での動作は次のとおりです。
コード例は次のとおりです:
// Setup variables var typingTimer; //timer identifier var doneTypingInterval = 5000; //time in ms, 5 seconds for example var $input = $('#myInput'); // Keyup: Start Timer $input.on('keyup', function () { clearTimeout(typingTimer); typingTimer = setTimeout(doneTyping, doneTypingInterval); }); // Keydown: Clear Timer $input.on('keydown', function () { clearTimeout(typingTimer); }); // Typing Completion: Execute Action function doneTyping () { // Perform the intended action, e.g., AJAX request }
このアプローチを実装すると、AJAX リクエストのパフォーマンスを最適化できます。追加のユーザー入力を必要とせずに周波数を設定できます。
以上がユーザーがテキスト ボックスに入力を終えた後にのみ JavaScript を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。