window屬性:onkeypress

2018-05-09 13:45 更新

onkeypress屬性

該onkeypress屬性設(shè)置并返回當(dāng)前元素的onkeypress事件處理程序代碼。

onkeypress屬性語(yǔ)法

element.onkeypress = event handling code

筆記

當(dāng)用戶按下鍵盤上的按鍵時(shí),應(yīng)該會(huì)觸發(fā)按鍵事件。但是,并非所有瀏覽器都會(huì)觸發(fā)某些鍵的按鍵事件,請(qǐng)參考下文的瀏覽器兼容性。

onkeypress屬性示例

示例1:通過(guò)正則表達(dá)式在表單(form)域中過(guò)濾數(shù)字

以下示例顯示了在對(duì)表單(form)字段進(jìn)行數(shù)字挖掘時(shí)使用該onkeypress事件以過(guò)濾輸入的字符:

<!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>

示例2:捕獲隱藏單詞的輸入內(nèi)容

下面的例子將在用戶在頁(yè)面的任何點(diǎn)輸入單詞“exit”后執(zhí)行一些操作。

注意:在GitHub上提供了一個(gè)更完整的捕獲隱藏字詞類型的框架。

/* 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("http://developer.mozilla.org/");
    }
    return true;
  };
})();

規(guī)范

規(guī)范狀態(tài)注釋
HTML Living Standard
規(guī)范中'onkeypress'的定義。
Living Standard
 

瀏覽器兼容性

我們正在將兼容性數(shù)據(jù)轉(zhuǎn)換為機(jī)器可讀的JSON格式。

注意:基于Webkit的瀏覽器(例如Google Chrome和Safari)不會(huì)在箭頭鍵上觸發(fā)按鍵事件;Firefox不會(huì)在SHIFT等修飾鍵上觸發(fā)按鍵事件。

  • 電腦端
特征Chrome
Edge
Firefox(Gecko)
Internet Explorer
Opera
Safari(WebKit)
基本支持支持支持????
  • 移動(dòng)端

特征AndroidAndroid WebviewEdgeFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari MobileChrome for Android
基本支持?支持??????支持
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)