jQuery を使用した Enter でのフォーム送信の問題の解決
HTML と jQuery を使用する AIR プロジェクトで、「Enter」でログイン フォームを送信すると、 「キーには課題があります。」 Enter キーを押すと、フォームのコンテンツは実際に送信されずに消えます。
一般的な解決策には、jQuery の .keypress() メソッドを使用して「Enter」キー押下イベントをキャプチャすることが含まれます。ただし、一部のユーザーは、この方法でもフォームのコンテンツが送信されずに消えるという問題に遭遇しています。
これを解決するには、イベント ハンドラー内に「return false」という行を追加することが重要です。更新されたコードは次のとおりです。
$('.input').keypress(function (e) { if (e.which == 13) { $('form#login').submit(); return false; // Add this line } });
「return false」ステートメントは、「Enter」キーに関連付けられたデフォルトの動作(通常はフォームの送信)を効果的に防止します。 false を返すことにより、イベント ハンドラーはこのデフォルトの動作をキャンセルし、代わりにカスタム送信関数の実行を許可します。
StackOverflow の議論で述べたように、「false を返す」は e.preventDefault() と e の両方を呼び出すのと同様に機能します。 .stopPropagation()。これらのメソッドはブラウザのデフォルトのアクションを防止し、カスタム方法でイベントを処理できるようにします。
以上がAIR プロジェクトで Enter キーを押すとログイン フォームが消えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。