UIEvent: which property
Deprecated
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.>
The UIEvent.which read-only property of the UIEvent interface returns a number that indicates which button was pressed on the mouse, or the numeric keyCode or the character code (charCode) of the key pressed on the keyboard.
Value
>Value for KeyboardEvent
For KeyboardEvent, event.which contains the numeric code for a particular key pressed, depending on whether an alphanumeric or non-alphanumeric key was pressed.
Please see deprecated KeyboardEvent.charCode and KeyboardEvent.keyCode for more details.
Note:
Consider KeyboardEvent.key or KeyboardEvent.code for new code.
Value for MouseEvent
For MouseEvent, event.which is 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.
Note:
Consider MouseEvent.button for new code.
Examples
<p>Please press any key.</p>
function showKeyPress(evt) {
console.log(
`onkeypress handler:\n` +
`keyCode property: ${evt.keyCode}\n` +
`which property: ${evt.which}\n` +
`charCode property: ${evt.charCode}\n` +
`Character Key Pressed: ${String.fromCharCode(evt.charCode)}\n`,
);
}
function keyDown(evt) {
console.log(
`onkeydown handler:\n` +
`keyCode property: ${evt.keyCode}\n` +
`which property: ${evt.which}\n`,
);
}
document.addEventListener("keypress", showKeyPress);
document.addEventListener("keydown", keyDown);
Specifications
| Specification |
|---|
| UI Events> # dom-uievent-which> |