次のコード: <br> function checkForm(){<br> if(event.keyCode ==13){<br>event.keyCode =9;<br> }<br> }<br> </ script><br> <body><br> <form name ="form1"><br> <input type="text" name = "text1" onkeydown = "checkForm()"><br> <input type="button" name = "button1" value="ボタン"><br> </form><br> </body><br></html></p> <p>Enter を押すと、フォーカスがテキスト ボックスからボタンに移動します。 「onkeypress」に変更すると、フォーカスが移動したり消えたりすることはありません。ただし、「onkeyup」に変更すると、フォーカスが失われ、ページがリロードされます。 msdn には 3 つの違いがあります: </p> <p><br>名前 説明 <br>onkeypress<br> このイベントは、ユーザーが任意の英数字キーを押して放したときに発生します。システム ボタン (矢印キーやファンクション キーなど) が認識されません。 <br> <br>onkeyup<br> このイベントは、ユーザーが以前に押したキーボードのキーを放したときに発生します。 <br> <br>onkeydown<br> このイベントは、ユーザーがキーボードのキー (矢印キーやファンクション キーなどのシステム ボタンを含む) を押すと発生します。 <br> </p> <p><br> (しかし、テストでは、onkeypress は矢印とファンクション キーの両方を認識しているようです。奇妙なことに!)。 onkeyup がページを更新する理由は不明です。ブラウザには onkeyup のデフォルトの実行イベントがあり、そのデフォルトの実行イベントはページのリロードであるのだろうか。後でわかることです!もう 1 つ注意すべき点は、キーボード上の同じ値が onkeypress と onkeydown に対応する可能性があることです (通常、onkeyup は onkeydown と同じです)。たとえば、小型キーボードの「1」に対応する onkeypress 値は 49 ですが、onkeydown と onkeyup です。そうすれば全員97歳です! msdn に例があり、さまざまなキーボード値に対応するさまざまなイベント値を確認するために使用できます。 URL: http://msdn.microsoft.com/library/en-us/dnacc/html/Example3_Calculator.asp</p> <p class="sycode"> </p> <p class="sycode"> カテゴリー: Web フロントエンド </p> <p class="sycode"> </p>