web api instance property
UIEvent: which property
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 charCode and keyCode for more details.
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
buttonfor 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
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.