JavaScript onkeydown 事件
用户按下一个键盘按键时会触发 onkeydown 事件。与 onkeypress 事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键),onkeypress 事件只响应字符键按下后的处理。
提示
Internet Explorer/Chrome 浏览器使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 等浏览器使用 event.which。
onkeydown 获取用户按下的键
下面是一个利用 onkeydown 事件获取用户按下键盘按键信息的例子:
<html> <body> <script type="text/javascript"> function noNumbers(e) { var keynum; var keychar; keynum = window.event ? e.keyCode : e.which; keychar = String.fromCharCode(keynum); alert(keynum+':'+keychar); } </script> <input type="text" onkeydown="return noNumbers(event)" /> </body> </html>
如上面例子所示,event.keyCode/event.which 得到的是一个按键对应的数字值(Unicode 编码),常用键值对应如下:
数字值 | 实际键值 |
---|---|
48到57 | 0到9 |
65到90 | a到z(A到Z) |
112到135 | F1到F24 |
8 | BackSpace(退格) |
9 | Tab |
13 | Enter(回车) |
20 | Caps_Lock(大写锁定) |
32 | Space(空格键) |
37 | Left(左箭头) |
38 | Up(上箭头) |
39 | Right(右箭头) |
40 | Down(下箭头) |
在 Web 应用中,常常可以看到利用 onkeydown 事件的 event.keyCode/event.which 来获取用户的一些键盘操作,从而运行某些运用的例子。如在用户登录时,如果按下了大写锁定键(20),则加以提示大写锁定;在有翻页的时候,如果用户按下左右箭头,触发上下翻页等。
获得 Unicode 编码值之后,如果需要得到实际对应的按键值,可以通过 Srting 对象的 fromCharCode 方法(String.fromCharCode())获得。注意,对于字符获得的始终是大写字符,而对于其他一些功能按键,得到的字符可能不太易阅读。
本章节内容共分 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 事件:文本域文本被剪切或粘贴(禁止粘贴实例)