UIEvent.which
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 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
<html>
<head>
<title>charCode/keyCode/which example</title>
<script type="text/javascript">
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