JavaScript onkeypress 事件
用戶按下或按住一個鍵盤按鍵時會觸發 onkeypress 事件。
注意:onkeypress 事件與 onkeydown 事件有些細微差別,onkeypress 事件不做相應功能鍵按下的處理。具體可將下面的示例更改為 onkeydown 事件後,可輸入 !@#$ 等特殊字符即可體會出二者之間的差別。
提示
Internet Explorer/Chrome 浏覽器使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 等浏覽器使用 event.which。
利用 onkeypress 事件只允許輸入數字
下面是一個利用 onkeypress 事件只允許用戶在表單域輸入數字的例子:
代碼如下:
<html>
<head>
<script>
function checkNumber(e)
{
var keynum = window.event ? e.keyCode : e.which;
//alert(keynum);
var tip = document.getElementById("tip");
if( (48<=keynum && keynum<=57) || keynum == 8 ){
tip.innerHTML = "";
return true;
}else {
tip.innerHTML = "提示:只能輸入數字!";
return false;
}
}
</script>
</head>
<body>
<div>請輸入數字:<input type="text" onkeypress="return checkNumber(event);" />
<span id="tip"></span>
</div>
</body>
</html>
event.keyCode/event.which 得到的是一個按鍵對應的數字值(Unicode 編碼),常用鍵值列於 onkeydown 事件一節中。例子中對 8 的值做特殊處理,是為了在文本域中支持退格(Backspace)鍵。