Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

이 문서는 아직 자원 봉사자들이 한국어로 번역하지 않았습니다. 함께 해서 번역을 마치도록 도와 주세요!

The onkeypress property sets and returns the onKeyPress event handler code for the current element.

Syntax

element.onkeypress = event handling code

Notes

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

Browser Incompatibilities

Webkit-based browsers (Google Chrome and Safari, for example) do not fire keypress events on the arrow keys

Firefox does not fire keypress events on modifier keys like SHIFT

Specifications

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

Examples

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

The following example shows the use of the onkeypress event during a digitation into a form field in order to filter the typed characters:

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

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

Example 2: Capture the digitation of a hidden word

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

/* Type the word "exit" in any point of your page... */

(function () {

  var sSecret = /* chose 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) {
      nOffset++;
    } else {
      nOffset = 0;
      /* do something here... */
      alert("Yesss!!!");
      location.assign("https://developer.mozilla.org/");
    }
    return true;
  };
})();

문서 태그 및 공헌자

 최종 변경: cvrebert,