whichプロパティ
whichプロパティは、マウスやキーボードなどのデバイスのどこを操作したかを返すMouseEvent、KeyboardEventのプロパティです。
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では文字コードまたはキーコードを返す |