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)鍵。