js按键上下左右按键触发函数的写法(按键按下触发)

onkeydown事件,按键按下触发 

function onKeyDown() {
        document.onkeydown = function (event) {
            var event = event || window.event;
            // 为了方便理解可以写成这种形式var event=event?event:window.event实现浏览器的兼容
            var keycode = event.which || event.keyCode;
            // 火狐不支持event.keyCode支持event.which
            switch (keycode) {
                case 38:
                    console.log("上"); break;
                case 39:
                    console.log("右");  break;
                case 40:
                    console.log("下");  break;
                case 37:
                    console.log("左");  break;
            }
         }
    }

Window是浏览器对象,所有浏览器都支持该对象

Document对象是HTML DOM Document对象,每个载入浏览器的html文档都会成为document对象,通过document对象对html中的元素进行访问

Event对象是HTML DOM Document对象,代表事件的状态,如按键的状态

以上在vscode上测试未发现问题,但是最近在webstrom上测试时就发现会报event.which已弃用,可用event.key替代

function onKeyDown() {
        document.onkeydown = function (event) {
            var event = event || window.event;
            // 为了方便理解可以写成这种形式var event=event?event:window.event实现浏览器的兼容
            var keycode = event.key;
            switch (keycode) {
                case 'ArrowUp':
                    console.log("上"); break;
                case 'ArrowRight':
                    console.log("右");  break;
                case 'ArrowDown':
                    console.log("下");  break;
                case 'ArrowLeft':
                    console.log("左");  break;
            }
         }
    }


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值