混乱keyCode
していないと思いますcharCode
か?
QuirksModeの下部からの結果を使用すると、次のようになります。
- F5
- キーダウン:keyCodeは116です。charCodeは0です
- keypress:keyCodeは116です。charCodeは0です
- t
- キーダウン:keyCodeは84です。charCodeは0です
- keypress:keyCodeは0です。charCodeは116です
- T
- キーダウン:keyCodeは84です。charCodeは0です
- keypress:keyCodeは0です。charCodeは84です
keyCode
ユーザーが実際に押したキーボードキーをcharCode
表し、文字のコードポイントを表します。たとえば、キーtとTはkeyCode
同じキーの結果であるため同じcharCode
ですが、異なる文字を表すために異なります。
したがって、質問に答えるために、F5キーダウンで得られる出力は84であり、プラグを差し込むとString.fromCharCode()
「T」になりますが、キーを押すと116になります。これは、を使用した「t」に対応しString.fromCharCode()
ます。
要するに、結果は無意味なので、を使用String.fromCharCode()
しないでください。keyCode
でのみ使用してcharCode
ください。また、QuirksModeの「Specialkeys」から
これらのキーを検出する必要がある場合は、自分でキーコードonkeydown / upを検索し、onkeypressとcharCodeの両方を無視してください。