which プロパティ
event.which
which プロパティは、マウスやキーボードなどのデバイスのどこを操作したかを返す MouseEvent、 KeyboardEvent のプロパティです。
which プロパティは番号を返します。
which プロパティによって取得できる番号が同じでもマウスやキーボードといったデバイスによってその内容が変わります。
詳しくは以下のwhich プロパティについて
を参照してください。
ページ内 Index
which プロパティについて
which プロパティは番号を返します。その値はマウスやキーボードによって番号が示すボタンやキーの内容が変わります。
MouseEventにおいては、
主にonmousedownイベントが対象になります。押されたマウスボタンを示す番号を返します。以下のようにマウスボタンごとの番号を返します。
- 0
- 何も操作していない
- 1
- 左のマウスボタン
- 2
- ホイールボタン(ホイールボタンがあれば)
- 3
- 右のマウスボタン
左利き用のマウスでは左右が反対になります。
似たプロパティにevent.buttonプロパティがあります。
KeyboardEventにおいて
whichとkeyCodeプロパティは互換性のために提供されていますが、使用できるならばkeyプロパティが推奨されています。
onkeypressイベントではUnicode文字コードを、onkeydownやonkeyupイベントではUnicodeキーコードを返します。
文字コードとキーコードには以下のような違いがあります。
- 文字コード
- ASCII文字コード
- キーコード
- キーボードの実際のキー番号
FireFoxブラウザではonkeypressイベントでのkeyCodeプロパティは機能しません。which プロパティを使います。 クロスブラウザにするには、以下のようにwhichとkeyCodeを併用するようにしましょう。
var font_code = event.which || event.keyCode;
「ALT」、「CTRL」、「META」、「SHIFT」キーが押されたかを知るにはaltKey、ctrlKey、metaKey、shiftKeyプロパティを使用します。
構文(Syntax)
返り値はNumber型で、読み取り専用です。
Number = event.which;
返り値(Return Values)
Type | 摘要 |
---|---|
Number | MouseEventではマウスの番号、KeyboardEventでは文字コードまたはキーコードを返す |
Example
which プロパティの例です。
which プロパティによって取得できる番号が同じでもマウスやキーボードといったデバイスによってその内容が変わります。