備忘録的プログラミングリファレンス

whichプロパティ

 whichプロパティは、マウスやキーボードなどのデバイスのどこを操作したかを返すMouseEventKeyboardEventのプロパティです。

MouseEventにおいては、

 主にonmousedownイベントが対象になります。押されたマウスボタンを示す番号を返します。以下のようにマウスボタンごとの番号を返します。

0
何も操作していない
1
左のマウスボタン
2
ホイールボタン(ホイールボタンがあれば)
3
右のマウスボタン

 左利き用のマウスでは左右が反対になります。

 似たプロパティにevent.buttonプロパティがあります。

KeyboardEventにおいては、

 whichとkeyCodeプロパティは互換性のために提供されていますが、使用できるならばkeyプロパティが推奨されています。

onkeypressイベントではUnicode文字コードを、onkeydownonkeyupイベントではUnicodeキーコードを返します。

 文字コードとキーコードには以下のような違いがあります。

文字コード
ASCII文字コード
キーコード
キーボードの実際のキー番号

 FireFoxブラウザではonkeypressイベントでのkeyCodeプロパティは機能しません。whichプロパティを使います。  クロスブラウザにするには、以下のようにwhichとkeyCodeを併用するようにしましょう。

var font_code = event.which || event.keyCode;

「ALT」、「CTRL」、「META」、「SHIFT」キーが押されたかを知るにはaltKeyctrlKeymetaKeyshiftKeyプロパティを使用します。

構文(Syntax)

返り値はNumber型で、読み取り専用です。

Number = event.which;

返り値(Return Values)

Type摘要
NumberMouseEventではマウスの番号、KeyboardEventでは文字コードまたはキーコードを返す