Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
The MouseEvent.which read-only property indicates which button was pressed on the mouse to trigger the event. The standard alternatives to this property are MouseEvent.button and MouseEvent.buttons.
Syntax
var buttonPressed = instanceOfMouseEvent.which
Return value
A number representing a given button:
0: No button1: Left button2: Middle button (if present)3: Right button
For a mouse configured for left-handed use, the button actions are reversed. In this case, the values are read from right to left.
Specification
This is not part of any specification.
Browser compatibility
| Feature | Edge | Firefox (Gecko) | Chrome | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | 1.0 (1.7 or earlier)[1] | 1.0 | 9.0 | 5.0 | 1.0 |
| Feature | Edge | Firefox Mobile (Gecko) | Android | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | 1.0 (1) [1] | (Yes) | (Yes) | (Yes) | (Yes) |
[1] On mousemove events, the which property is incorrectly always set to 1 bug 1048294.