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>
<p>请输入数字:<input type="text" onkeypress="return checkNumber(event);" />
<span id="tip"></span>
</p>
</body>
</html>event.keyCode/event.which 得到的是一个按键对应的数字值(Unicode 编码),常用键值列于 onkeydown 事件一节中。例子中对 8 的值做特殊处理,是为了在文本域中支持退格(Backspace)键。
本章节内容共分 22 部分:
- JavaScript 事件
- JavaScript onclick 事件:鼠标点击页面某个对象
- JavaScript ondblclick 事件:鼠标双击页面某个对象
- JavaScript onmousedown 事件:鼠标任何一个按键被按下
- JavaScript onmouseup 事件:鼠标任何一个按键被松开
- JavaScript onmouseover 事件与 onmouseout 事件:鼠标指针移动到对象上或离开对象
- JavaScript onkeydown 事件:键盘上某个按键被按下
- JavaScript onkeypress 事件:按下或按住一个键盘按键
- JavaScript onkeyup 事件:键盘按键被松开
- JavaScript onblur 事件:页面元素失去焦点
- JavaScript onfocus 事件:页面元素获得焦点
- JavaScript onchange 事件:表单文本域或选择域发生改变
- JavaScript onsubmit 事件:表单被提交
- JavaScript onreset 事件:表单被重置
- JavaScript onload 事件:页面或图像加载完成后
- JavaScript onunload 事件:关闭页面或页面被改变为其他页面
- JavaScript onerror 事件:加载页面或图像时发生错误
- JavaScript onresize 事件:当浏览器窗口或 HTML 对象改变大小
- JavaScript onscroll 事件:滚动条发生滚动及利用 onscroll 来实现 返回顶部 效果
- JavaScript onselect 事件:文本框中的文本被选中
- JavaScript oncopy 事件:文本被复制及利用 oncopy 实现拷贝内容时增加版权信息
- JavaScript oncut 事件与 onpaste 事件:文本域文本被剪切或粘贴(禁止粘贴实例)

