MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey-2018-1

The keypress event is fired when a key that produces a character value is pressed down. Examples of keys that produce a character value are alphabetic, numeric, and punctuation keys. Examples of keys that don't produce a character value are modifier keys such as AltShiftCtrl, or Meta.

General info

Specification
DOM L3
Interface
KeyboardEvent
Bubbles
Yes
Cancelable
Yes
Target
Document, Element
Default Action
Varies: keypress event; launch text composition system; blur and focus events; DOMActivate event; other event

Properties

Property Type Description
target Read only EventTarget The event target (the topmost target in the DOM tree).
type Read only DOMString The type of event.
bubbles Read only Boolean Whether the event normally bubbles or not
cancelable Read only Boolean Whether the event is cancellable or not?
view Read only WindowProxy document.defaultView (window of the document)
detail Read only long (float) 0.
target Read only EventTarget (DOM element) Focused element processing the key event, root element if no suitable input element focused.
char Read only DOMString (string) The character value of the key. If the key corresponds to a printable character, this value is a non-empty Unicode string containing that character. If the key doesn't have a printable representation, this is an empty string. See key names and char values for the detail.
Note: If the key is used as a macro that inserts multiple characters, this attribute's value is the entire string, not just the first character.
key Read only DOMString (string)

The key value of the key represented by the event. If the value has a printed representation, this attribute's value is the same as the char attribute. Otherwise, it's one of the key value strings specified in Key values. If the key can't be identified, this is the string "Unidentified". See key names and char values for the detail. Read Only.

code Read only

 

DOMString (string) Holds a string that identifies the physical key being pressed. The value is not affected by the current keyboard layout or modifier state, so a particular key will always return the same value.
charCode Read only Unsigned long (int) The Unicode reference number of the key; this attribute is used only by the keypress event. For keys whose char attribute contains multiple characters, this is the Unicode value of the first character in that attribute.
Warning: This attribute is deprecated; you should use char instead, if available.
keyCode Read only Unsigned long (int) A system and implementation dependent numerical code identifying the unmodified value of the pressed key. This is usually the decimal ASCII (RFC 20) or Windows 1252 code corresponding to the key; see Virtual key codes for a list of common values. If the key can't be identified, this value is 0.
Warning: This attribute is deprecated; you should use key instead, if available.
which Read only Unsigned long (int) A system and implementation dependent numeric code identifying the unmodified value of the pressed key; this is usually the same as keyCode.
Warning: This attribute is deprecated; you should use key instead, if available.
location Read only long (float) The location of the key on the device.
repeat Read only boolean true if a key has been depressed long enough to trigger key repetition, otherwise false.
locale Read only string The language code for the key event, if available; otherwise, the empty string.
ctrlKey Read only boolean true if the control key was down when the event was fired. false otherwise.
shiftKey Read only boolean true if the shift key was down when the event was fired. false otherwise.
altKey Read only boolean true if the alt key was down when the event was fired. false otherwise.
metaKey Read only boolean true if the meta key was down when the event was fired. false otherwise.

Notes

Chrome does not fire the keypress event for known keyboard shortcuts (reference). Which keyboard shortcuts are known depends on the user's system. Use the keydown event to implement keyboard shortcuts.

Example

<!DOCTYPE html>
<html>
<head>
<script>

'use strict';

document.addEventListener('keypress', (event) => {
  const keyName = event.key;

  alert('keypress event\n\n' + 'key: ' + keyName);
});

</script>
</head>
<body>
</body>
</html>

Document Tags and Contributors

 Last updated by: artin,