js键盘事件

知识点:

 键盘事件一般都会绑定给一些可以获取到的焦点对象,或者是document

onkeydown 某个键盘被按下 如果一直按着某个键不松手,则事件会一直触发

onkeyup 某个键盘被松开

可以通过keyCode获取按键的编码,可以判断那个按键被按下

altKey、ctrlKey、shiftKey判断alt ctrl shift是否被按下

如果在onkeydown中取消默认行为写上return false;则如果输入的内容,不会出现在文本框中

当在在页面按下alt+y时,控制台会输出alt+y按下了,松开时输出按键松开了,否则按其他键,只会触动按键松开了的事件,在输入框输入0-9时,输入框不显示,控制台显示按键的编码和按键松开了,输入其他时输入框显示,控制台显示按键的编码和按键松开了

详细代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.onload = function () {
            /*
              键盘事件:
              onkeydown-按键被按下
              onkeyup 按键被松开

              键盘事件一般都会绑定给一些可以获取到的焦点对象,或者是document
            */
            //按键事件89是y
            document.onkeydown = function (event) {
                event = event || window.event;
                if (event.keyCode == 89 && event.ctrlKey) {
                    console.log("ctrl+y被按下了");
                }

            };
            //松开事件
            document.onkeyup = function () {
                console.log("按键松开了")
            };

            //获取input
            var input = document.getElementsByTagName("input")[0];
            input.onkeydown = function (event) {
                console.log(event.keyCode);
                event = event || window.event;
                //当输入0-9时不会出现在文本框中
                if (event.keyCode >= 96 && event.keyCode <= 105) {
                    //中取消默认行为写上return false;则如果输入的内容,不会出现在文本框中
                    return false;
                }

            };
        };
    </script>
</head>

<body>
    <input type="text">
</body>

</html>

测试结果:

打开控制台

按ctrl+y

按其他键 

 

按0: 

 

 按其他键

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵俺第一专栏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值