在进行判断按下哪个键前,我们先要了解一下键盘事件:
键盘事件有三个(addEventListener 侦听器注册事件不需要加 on):
onkeyup 按键松开时触发
onkeydown 按键按下时触发
onkeypress 按键按下时触发(区分大小写,对功能键无效,例如 ctrl,箭头,shift)
onkeyup:
鼠标松开时触发事件
<script>document.addEventListener('keyup',function(){ alert('我被松开了') }) </script>onkeydown:<script>document.addEventListener('keydown',function(){ alert('我被按下了') }) </script>
注意:onkeydown 和 onkeypress 大部分效果相同,只是 onkeypress 不能按功能键触发,onkeydown 可以,并且onkeypress可以区分大小写
e.keyCode:获取按下的键的ASCII码
利用键盘对象的该方法可以返回按下的按键的 ASCII 码,因为keyup 与 keydown 不能区分大小写,所以输出按键的 ASCII 码永远是小写的值,例如按下a和A,输出值均为65,keypress 可以区分大小写,所以 a 和 A 的输出结果是不同的
keyup 与 keydown 键盘事件:a 和 A 的输出值均为65
<script>document.addEventListener('keydown',function(e){ alert(e.keyCode) // a 和 A 的输出结果为65 }) </script>
keypress 键盘事件:a 的输出值为 97,A 的输出值为 65
<script>document.addEventListener('keypress',function(e){ alert(e.keyCode) }) </script>