まず第一に、でcharCodeはありませんkeyCode!charCodeは ascii セットに従いますkeyCodeが、 はキーの特定のインデックスです。2 つの値の違いは次のとおりです。下位 ASCII 文字セットのキーボード イベント文字値 - O'Reilly Answers
charCodeとの主な違いの 1 つkeyCodeは、charCode は非推奨であり、通常、一部のブラウザーでは [0 を除いて] 参照時に値がないことです。
おかしなことに、onkeypress はではなく文字コードkeyCodeを返すようですが、onkeyup と onkeydown は期待どおりに動作するため、値の検出時に問題が発生する可能性がありkeyCodeます。これは、 JavaScript - Detecting keystrokes
- Additional reference: keyCode and charCodeでテストできます。
keyCodeでcharCodeあり、 w3c では推奨されていませんがwhich、このモデルにはまだレガシー サポートがあります。堅実なクロス ブラウザ/プラットフォーム サポートは、キーボード レイアウトに依存しない固定の仮想キーコードを使用して行われます。つまり、「仮想」です。keyCode
固定の仮想キーコード以外のその他の仮想キーコードも、ベンダー間で一貫して実装されているようです。MDN 仮想キー コード (Windows)
jQuery は、独自のkeyCode/charCodeイベント オブジェクト プロパティを使用します。.whichこれは、 と を統合しようkeyCodeとしcharCodeます。そしてkeyCode値を支持する - event.which – jQuery API
要するに、特定のkeyCode: "13" は、固定の仮想キーコードであり、すべてのブラウザーとプラットフォームと一貫性があるため、javascript をサポートするほとんどのブラウザーで動作するはずです。