keyCodeイベントプロパティ

事件对象参考手册イベントオブジェクト

例

押されたキーボードキーのUnicode値を取得:

var x = event.keyCode;

x出力結果は次のとおりです:

119 // 119 は文字 "w"

試してみる »

この記事の下部には、その他の例が含まれています。


定義と使用

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 プロパティと一緒に使用して解決できます:

var x = event.which || event.keyCode; // 使用which 或 keyCode、 これでさまざまなブラウザをサポートできます

ヒント:すべてのUnicode文字リストは、私たちの完全なUnicodeリファレンスマニュアル。

ヒント:Unicode値を文字に変換する必要がある場合は、fromCharCode()メソッドを使用できます。

注意:このプロパティは読み取り専用です。

注意:which プロパティと keyCode プロパティはブラウザの互換性を解決する方法を提供しますが、最新バージョンのDOMイベントでは、keyプロパティを使用してこの方法を置き換えることを推奨します。

ヒント:"ALT"、"CTRL"、"META"、"SHIFT" キーが押されたかどうかを確認したい場合は、altKey, ctrlKey, metaKey 或 shiftKeyプロパティを使用できます。


ブラウザサポート

プロパティ
keyCode Yes Yes Yes Yes Yes


構文

event.keyCode

技術詳細

戻り値: Unicode文字コードまたはUnicodeキーコードを表す数字
DOMバージョン: DOM Level 2 Events


实例

その他の例

例

onkeypress と onkeydown を使用して、文字コードとキーボードコードの違いを示します:

<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">

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文字コード:97
Unicodeキーコード:65

試してみる »

例

Escキーを押すとプロンプトメッセージが表示されます:

<input type="text" onkeydown="myFunction(event)">

function myFunction(event) {
    var x = event.keyCode;
    if (x == 27) {  // 27 は ESC キー
        alert ("You pressed the Escape key!");
    }
}

試してみる »

例

Unicode値を文字に変換します(ファンクションキーには使用できません):

var x = event.keyCode;                // Unicode値を取得
var y = String.fromCharCode(x);       // 値を文字に変換

試してみる »


関連ページ

HTML DOM リファレンスマニュアル:key イベントプロパティ

HTML DOM リファレンスマニュアル:keyCode イベントプロパティ

HTML DOM リファレンスマニュアル:which イベントプロパティ

事件对象参考手册イベントオブジェクト

その他の拡張