JavaScript鼠标事件

键盘事件一般会绑定给一些可以获取到焦点的对象(比如input)或者document

var input=document.getElementsByTagName("input")[0];
            input.onkeydown=function(event){
                event=event || window.event;
                //使文本框中不能装入数字,数字编码为48-57
                if(event.keyCode>=48 && event.keyCode<=57){
                    //在文本框输入内容属于onkeydown默认行为,取消了,输入内容不会出现在文本库中
                return false;
                }

                
            }

onkeydown
onkeydown 某个键盘按键被按下 :如果一直按着一个键盘不松手,事件就会一直被触发,当连续触发时,第一次和第二次时间间隔会久一点,这是防止误触

   document.onkeydown=function(){
                console.log("被触发了");
            }

onkeyup
onkeyup 某个键盘按键被松开


   document.onkeyup=function(){
                console.log("被触发了");
            }

keyCode

keyCode 对于 keypress 事件,该属性声明了被敲击的键生成的 Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关。 event.keyCode;//得到对应键盘的编码

//判断y和ctrl同时被按下
            if(event.keyCode===89&&event.ctrlKey){
                alert("ctrl和y键都被按下了")
            }

altKey 返回当事件被触发时,“ALT” 是否被按下
ctrlKey 返回当事件被触发时,“CTRL” 键是否被按下。
shiftKey 返回当事件被触发时,“SHIFT” 键是否被按下。

练习
要求:按下左键,div向左;右键向右;上键向上;下键向下

 //按下CTRL速度加快
                if(event.ctrlKey){
                    speed=50;
                }

                //left 37;up 38; right 39;down 40
                switch(event.keyCode){
                    case 37:
                        box1.style.left=box1.offsetLeft-speed+"px";
                        break;
                    case 38:
                        box1.style.top=box1.offsetTop-speed+"px";
                        break;
          
                    case 39:
                        box1.style.left=box1.offsetLeft+speed+"px";
                        break;
                    case 37:
                        box1.style.top=box1.offsetTop+speed+"px";
                        break;
                }

            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值