js中的键盘事件包括 onkeydown 、 onkeyup 、 onkeypress
1、onkeydown
键盘按下后就会立即执行的事件,不管是数字键、字母键还是功能键都能触发这个事件。
onkeydown有个特点:键盘一直按下会不停地触发事件,连续触发时,第一次和第二次的触发时间间隔会比较长一点,后面触发速度就非常的快。这种设计是为了防止误操作的发生。
2、onkeyup
键盘松开后立马执行的事件。
3、onkeypress
键盘按键被按下并释放一个键时执行。数字键、字母键能触发事件,但是功能键按下后不会触发这个事件,比如Esc、Tab、CapsLock、Shift、Ctrl、Alt、Delete、Backspace、四个方向键。
补充一些常用按键对应的Unicode编码:
Enter:13
space:32
Left:37
Up:38
Right:39
Down:40
<script type="text/javascript" language=JavaScript charset="UTF-8">
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0]
if(e &&e.keyCode==27){ // 按 Esc
//要做的事情
}
if(e &&e.keyCode==113){ // 按 F2
//要做的事情
}
if(e &&e.keyCode==13){ // enter 键
//要做的事情
}
}
</script>
只要你定义了这些键的动作,你在浏览器里按下这些键就会响应,兼容目前所有浏览器。
我做了一个jsp页面,里面有个搜索的功能,搜索是一个放大镜模样的图片,我给了个链接去执行函数,具体代码是:<span onclick="_search()"><img src="images/search.gif" border="0">现在用鼠标点这个搜索图片是没问题的
有搜索条件输入框不?
有的话就在输入框加上onkeypress="if (event.keyCode == 13) _search()"
没有的话就给body加上面这段