まず第一に、で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 をサポートするほとんどのブラウザーで動作するはずです。