监听键盘事件,比如说提交表单或者确认通过键盘操作会很方便,有时候需要组合键比如复制粘贴等。基本原理是当按下某一个键时,返回对应的值,然后再判断用户按下了哪个键,进行对比。
一、键盘监听是直接在整个页面文档上进行监听的,也就是document上,以下是原生的使用案例:
1、某个键按下事件:onkeydown
2、某个键被按下或者按住:onkeypress
3、某个按下的键被松开:onkeyup
document.onkeydown=function(e){ //对整个页面监听
var keyNum=window.event ? e.keyCode :e.which; //获取被按下的键值
//判断如果用户按下了回车键(keycody=13)
if(keyNum==13){
alert('您按下了回车');
}
//判断如果用户按下了空格键(keycode=32),
if(keyNum==32){
alert('您按下了空格');
}
//判断如果用户按下了Shift键(keycode=32)和回车键(keycody=13)
if (13 == e.keyCode && e.shiftKey){
alert('您按下了Shift和回车');
}
二、jquery监听键盘事件
jquery的也分为三个过程,在事件名称上有所不同
1、某个键盘的键被松开:keyup
2、某个键被按下:keydown
3、某个键盘的键被按下或按住:keypress
//判断如果用户按下了回车键(keycody=13)和判断如果用户按下了空格键(keycode=32),
$(document).keyup(function(e){
switch(e.keyCode) {
case 13:
alert('您按下了回车');
return;
case 32:
alert('您按下了空格');
return;
}
});
//判断如果用户按下了Shift键(keycode=32)和回车键(keycody=13)
$(document).keyup(function(e){
if (13 == e.keyCode && e.shiftKey){
alert('您按下了Shift和回车');
}
});
按键所对应的值如下: