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 which
read-only property of the KeyboardEvent
interface returns the numeric keyCode
of the key pressed, or the character code (charCode
) for an alphanumeric key pressed.
Syntax
var keyResult = event.which;
Return value
keyResult
contains the numeric code for a particular key pressed, depending on whether an alphanumeric or non-alphanumeric key was pressed. Please seeKeyboardEvent.charCode
andKeyboardEvent.keyCode
for more details.
Example
<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 | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 3 Events Specification The definition of 'KeyboardEvent.which' in that specification. |
Obsolete | Initial definition; specified as deprecated |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
which | Chrome Full support 4 | Edge Full support 12 | Firefox
Full support
2
| IE Full support 9 | Opera Full support 12.1 | Safari Full support 5.1 | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android
Full support
Yes
| Opera Android Full support 12.1 | Safari iOS Full support 5.1 | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.
- See implementation notes.
- See implementation notes.
See also
KeyboardEvent
, the interface this property belongs too.