键盘事件:

  1. okeydown:键盘被按下,如果一直按着键盘的按键,则okeydown事件会一直被触发。

    - 当键盘按键一直被按住的时候,事件被连续触发,第一次和第二次以及后面的n次之间,触发的时间间隔会稍长,在0.5秒左右(一直按着按键,事件连续触发,第一次触发之后会有0.5秒左右的延迟,后面的连续触发事件不会有延迟,延迟只在第一次和第二次之间)。这种设计是为了防止误操作。

    • 在页面中需要判断按键是否被按下,可以用一个简单的例子进行测试,如下:
    <script type="text/javascript">
            window.onload = function(){
                document.onkeydown = function(event){
                    alert("有按键被按下了");
                };
    		};
    </script>             
    
  2. onkeyup::松开键盘的按键,代码演示实例和onkeydown相同只需将以上代码块做对应修改即可。

​ - 不会连续触发

​ 键盘事件会绑定给一些能获取焦点的对象,或者是document

  1. 当需要获取判断键盘的哪一个按键被按下的时候,可以通过event的keyCode属性获取按键的编码。
    • 除了键盘的编码,事件对象中还有altKey、shiftKey、ctrlKey属性,分别可以用来判断alt、shift和ctrl键是否被按下,被按下返回true,否则返回false。
<script type="text/javascript">
        window.onload = function(){
            document.onkeydown = function(event){
                alert(event.keyCode);
                
                if(altKey){
                   alert("alt键被按下了");
                }else if(shiftKey){
                   alert("shift键被按下了");
                }else if(ctrlKey){
                   alert("ctrl键被按下了");
                }
            };
		};
</script>   

注意,在文本框中输入内容会显示出来,这是浏览器的默认行为,如果想取消默认行为,在对应的代码块return false即可。

如果以上内容对你有帮助的话,动动小手点个赞吧!
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐