最新のWeb開発のチュートリアル
 

KeyboardEvent which Property

<イベントオブジェクト

押されたキーボードのキーのUnicode値を取得します。

var x = event.which;

xの結果は次のようになります。

119   // 119 is the character "w"
»それを自分で試してみてください

もっと"Try it Yourself"以下の例。


定義と使用法

どのプロパティがトリガーキーのUnicode文字コードを返しれるonkeypressイベント、またはトリガーキーのUnicodeのキーコードにonKeyDownまたはonkeyupのイベントを。

2つのコードの種類の違い:

  • 文字コード - ASCII文字を表す番号
  • キーコード - キーボード上の実際のキーを表す数値

これらのタイプは、常に同じことを意味するものではありません。 例えば、小文字"w"と大文字"W"キーボードで押下されたキーが同じであるため、同一のキーボードコードを持っている(just "W" = the number "87")異なります文字コード結果の文字は、(いずれかの異なるため、 "w"または"W" 、である"119"又は「87」) -を参照して"More Examples"良いことを理解するために以下を。

ヒント:ユーザーが印刷可能なキー(例えば押しているかどうかを調べるには"a"または「5」)、OnKeyPressイベントでこのプロパティを使用することをお勧めします。 ユーザは、ファンクションキーを押しているかどうかを調べるには(例えば"F1""CAPS LOCK"または「ホーム」)にonKeyDownまたはonkeyupのイベントを使用します。

注意:IE8でサポートされており、それ以前されていない財産。 これらのブラウザのバージョンについては、使用することができますキーコードプロパティを。 しかし、キーコードプロパティは、FirefoxでOnKeyPressイベントでは動作しません。 クロスブラウザのソリューションについては、次のようなコードを使用することができます。

var x = event.which || event.keyCode;  // Use either which or keyCode , depending on browser support

ヒント:すべてのUnicode文字の一覧については、私たちの勉強してください完全なUnicodeのリファレンスを

ヒント:あなたは文字に返されたUnicode値を変換したい場合は、使用fromCharCode()メソッドを。

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

注意:これとキーコードプロパティの両方が互換性のためにのみ提供されます。 DOM Events仕様の最新バージョンは、使用することをお勧めキーの代わりにプロパティを(if available)

ヒント:かどうかを確認したい場合は"ALT""CTRL""META"または"SHIFT"キーイベントが発生したときにキーが押された、使用altKeyのctrlKeymetakeyなまたはshiftKeyプロパティを。


ブラウザのサポート

表中の数字は完全にプロパティをサポートする最初のブラウザのバージョンを指定します。

プロパティ
which はい 9.0 はい はい はい

構文

event .which

技術的な詳細

戻り値: Unicode文字コードやUnicodeのキーコードのいずれかを表す数値、
DOMバージョン: DOMレベル2のイベント

例

その他の例

onkeypressでは使用して文字コードとキーボードのコードの違いを実証することにonKeyDown:

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

function uniCharCode(event) {
    var char = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
    document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}

function uniKeyCode(event) {
    var key = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
    document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}

押すと"a"キーボード上のキー(not using caps lock)文字キーの結果は次のようになります。

Unicode CHARACTER code: 97
Unicode KEY code: 65
»それを自分で試してみてください

ユーザーがEscキーを押すと、いくつかのテキストを警告:

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

function myFunction(event) {
    var x = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
    if (x == 27) {  // 27 is the ESC key
        alert ("You pressed the Escape key!");
    }
}
»それを自分で試してみてください

Unicode値を文字に変換する(does not work for function keys)

var x = event.which || event.keyCode;   // Get the Unicode value
var y = String.fromCharCode(x);         // Convert the value into a character
»それを自分で試してみてください

関連ページ

HTML DOMリファレンス: KeyboardEvent key Property

HTML DOMリファレンス: KeyboardEvent keyCode Property

HTML DOMリファレンス: KeyboardEvent charCode Property


<イベントオブジェクト