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では文字コードまたはキーコードを返す |
関連(Related)
HTML、CSS、DOMのマウス、キーボード、タッチデバイス、カーソルに関する用途一覧です。
HTML
CSS
DOM
- 全般
-
- インターフェイス
- UiEvent
- イベント
- which
- プロパティ
- altKey、 ctrlKey、 metaKey、 relatedTarget、 shiftKey
- メソッド
- getModifierState()
- マウス
-
- インターフェイス
- DragEvent、 MouseEvent
- イベント
- click、 contextmenu、 dblclick、 dragend、 dragenter、 dragleave、 dragover、 dragstart、 drop、 mousedown、 mouseenter、 mouseleave、 mousemove、 mouseout、 mouseover、 mouseup、 show、 onwheel
- プロパティ
- button、 buttons、 clientX、 clientY、 code、 deltaMode、 deltaX、 deltaY、 deltaZ、 pageX、 pageY、 screenX、 screenY
- メソッド
- キーボード
- タッチデバイス
-
- インターフェイス
- TouchEvent
- イベント
- touchcancel、 touchend、 touchmove、 touchstart、 transitionend
- プロパティ
- メソッド