Unsere Freiwilligen haben diesen Artikel noch nicht in Deutsch übersetzt. Machen Sie mit und helfen Sie, das zu erledigen!
Sie können den Artikel auch auf English (US) lesen.

The onkeypress property of the GlobalEventHandlers mixin is an EventHandler that processes keypress events on a given element.

The keypress event should fire when the user presses a key on the keyboard. However, not all browsers fire keypress events for certain keys.


element.onkeypress = functionRef


Example 1: Filter the digitation in a form field through a regular expression

This example uses onkeypress to filter the characters typed into a form field.

<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  function numbersOnly(oToCheckField, oKeyEvent) {
    return oKeyEvent.charCode === 0 || /\d/.test(String.fromCharCode(oKeyEvent.charCode));

<form name="myForm">
  <p>Enter numbers only: <input type="text" name="myInput" onkeypress="return numbersOnly(this, event);" onpaste="return false;" /></p>

Example 2: Capture the typing of a hidden word

The following example will do something after the user types the word "exit" in any point of a page.

Note: A more complete framework for capturing the typing of hidden words is available on GitHub.
/* Type the word "exit" in any point of your page... */

(function () {
  var sSecret = /* choose your hidden word...: */ "exit", nOffset = 0;

  document.onkeypress = function (oPEvt) {
    var oEvent = oPEvt || window.event, nChr = oEvent.charCode, sNodeType = oEvent.target.nodeName.toUpperCase();
    if (nChr === 0 || oEvent.target.contentEditable.toUpperCase() === "TRUE" || sNodeType === "TEXTAREA" || sNodeType === "INPUT" && oEvent.target.type.toUpperCase() === "TEXT") { return true; }
    if (nChr !== sSecret.charCodeAt(nOffset)) {
      nOffset = nChr === sSecret.charCodeAt(0) ? 1 : 0;
    } else if (nOffset < sSecret.length - 1) {
    } else {
      nOffset = 0;
      /* do something here... */
    return true;


Specification Status Comment
HTML Living Standard
The definition of 'onkeypress' in that specification.
Living Standard  

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android ?


Full support  
Full support
Compatibility unknown  
Compatibility unknown

Browser incompatibilities

WebKit-based browsers (Chrome and Safari, for example) do not fire keypress events for the arrow keys.

Firefox does not fire keypress events on modifier keys like shift.

Schlagwörter des Dokuments und Mitwirkende

Zuletzt aktualisiert von: mfluehr,