UIEvent: which property
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
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 Non-standard
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 Non-standard
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
<html lang="en">
<head>
<title>charCode/keyCode/which example</title>
<script>
function showKeyPress(evt) {
alert(
`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) {
alert(
`onkeydown handler:\n` +
`keyCode property: ${evt.keyCode}\n` +
`which property: ${evt.which}\n`,
);
}
</script>
</head>
<body onkeypress="showKeyPress(event);" onkeydown="keyDown(event);">
<p>Please press any key.</p>
</body>
</html>
Specifications
Specification |
---|
UI Events # dom-uievent-which |
Browser compatibility
BCD tables only load in the browser