keyCodeイベントプロパティ
この記事の下部には、その他の例が含まれています。
定義と使用
keyCode プロパティは、onkeypressイベントがトリガーされたキーの値の文字コード、またはonkeydown 或 onkeyupイベントのキーコードを返します。
2つのコードタイプの違いは次のとおりです:
- 文字コード - ASCII文字を表す数字
- キーボードコード - キーボード上の実際のキーを表す数字
2つのタイプの値は常に等しいわけではありません。例えば、小文字の "w" と大文字の "W" は同じキーボードコードを持ちます(キーボード上では "W" のコードは "87")。しかし、それらは異なる文字コードを持ち、2つの文字の出力は異なります("w" と "W" の文字コードは "119" と "87")。以下の例を参照するとよりよく理解できます。
ヒント:ユーザーが押したキーが印刷キー(例:"a" や "5")かどうかを知る必要がある場合は、onkeypress イベントを使用することをお勧めします。ユーザーが押したキーがファンクションキー(例:"F1"、"CAPS LOCK"、"Home")かどうかを知る必要がある場合は、onkeydown または onkeyup イベントを使用できます。
注意:Firefox では、keyCode プロパティは onkeypress イベントでは無効です(0 を返します)。ブラウザの互換性の問題には、一緒に使用できますwhichkeyCode プロパティと一緒に使用して解決できます:
ヒント:すべてのUnicode文字リストは、私たちの完全なUnicodeリファレンスマニュアル。
ヒント:Unicode値を文字に変換する必要がある場合は、fromCharCode()メソッドを使用できます。
注意:このプロパティは読み取り専用です。
注意:which プロパティと keyCode プロパティはブラウザの互換性を解決する方法を提供しますが、最新バージョンのDOMイベントでは、keyプロパティを使用してこの方法を置き換えることを推奨します。
ヒント:"ALT"、"CTRL"、"META"、"SHIFT" キーが押されたかどうかを確認したい場合は、altKey, ctrlKey, metaKey 或 shiftKeyプロパティを使用できます。
ブラウザサポート
| プロパティ | |||||
|---|---|---|---|---|---|
| keyCode | Yes | Yes | Yes | Yes | Yes |
構文
技術詳細
| 戻り値: | Unicode文字コードまたはUnicodeキーコードを表す数字 |
|---|---|
| DOMバージョン: | DOM Level 2 Events |
その他の例
例
onkeypress と onkeydown を使用して、文字コードとキーボードコードの違いを示します:
function uniCharCode(event) {
var char = event.which || event.keyCode;
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
var key = event.keyCode;
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
キーボードで "a" キーを押した場合(Caps Lockを使用しない)、出力結果は次のとおりです:
Unicodeキーコード:65
試してみる »
例
Escキーを押すとプロンプトメッセージが表示されます:
function myFunction(event) {
var x = event.keyCode;
if (x == 27) { // 27 は ESC キー
alert ("You pressed the Escape key!");
}
}
試してみる »
例
Unicode値を文字に変換します(ファンクションキーには使用できません):
var y = String.fromCharCode(x); // 値を文字に変換
試してみる »
関連ページ
HTML DOM リファレンスマニュアル:key イベントプロパティ
HTML DOM リファレンスマニュアル:keyCode イベントプロパティ
HTML DOM リファレンスマニュアル:which イベントプロパティ
その他の拡張
イベントオブジェクト