利用 keyCode 判断用户按下哪个键

在进行判断按下哪个键前,我们先要了解一下键盘事件:

键盘事件有三个(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>

猜你喜欢

转载自blog.csdn.net/weixin_52212950/article/details/123261126