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 事件:文本域文本被剪切或粘贴(禁止粘贴实例)