String.charCodeAt(index)
の戻り値と JavaScript キーコードの違いは何ですか? そして、2つの間で翻訳する方法はありますか?
例えば:
console.log('.'.charCodeAt(0)); // prints 46 on Mac/Chrome
しかし、'.' の keyCode は は190です。
String.charCodeAt(index)
の戻り値と JavaScript キーコードの違いは何ですか? そして、2つの間で翻訳する方法はありますか?
例えば:
console.log('.'.charCodeAt(0)); // prints 46 on Mac/Chrome
しかし、'.' の keyCode は は190です。
string.charCodeAt(index) は、指定された位置にある文字列の文字の ASCII 値を返すように設計されています。
keyCode は、押されたキーボード キーの値のブラウザー実装です。残念ながら、すべてのブラウザーで標準化されているわけではありません。
編集:
String.fromCharCode(unicodeValue);
これにより、keyCode などの Unicode 値が ascii 値に変換されます。すべての keyCode 値が適切な ascii 値に変換されるわけではないことに注意してください (存在しないため) { delete、up、down、left、right、home、insert、page up、page down }
例: Delete キーを押すと、46 の keyCode が返されます。46 はalert(String.fromCharCode(46));
ピリオドの ASCII 値であるため、ピリオドが出力されます。
onkeydown や onkeyup とは異なり、onkeypress
イベントは実際には、以下charCode
を使用して文字表現に変換できるプロパティを返します。String.fromCharCode
input.onkeypress = function(e) {
var char = String.fromCharCode(e.charCode);
}
また、このリンクをチェックして、さまざまなブラウザーとプラットフォームでの keyCodes / charCodes に関する優れた調査を行ってください。