javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > KeyCode被弃用后问题

聊聊KeyCode被弃用后的问题

作者:阿松爱睡觉

今天咱们就来聊聊KeyCode被弃用后的问题,希望对大家有所启发,如有错误或未考虑完全的地方,望不吝赐教

关于KeyCode被弃用后的问题

目前在开发是会发现,键盘事件的event事件对象的keyCode=“ASCll码值”已经被弃用了,但是大部分情况是不影响使用的,但是为了避免不必要的麻烦,还是建议大家依据实际情况做选择。

解决方法

document.onkeyup = function(event) {
            event = window.event || event;
            // 新方法
            if (event.key == 'p') {
                alert("按下了p键");
            }
            // 旧方法
            if (event.keyCode == 80) {
                alert("按下了p键");
            }
        }

简单来说就是将

keyCode=“键盘的ASCLL码值”,例 keyCode=“80”、keyCode="76"等

改为

key=“键盘的字母内容”,例 key=“a”、key=“Alt”、key="Enter"等

个人感觉,简洁了许多。

按键事件中的keycode被弃用,改用e.code替代

js事件中,keyCode已废弃,最佳替代写法为e.code

也有用e.key写法的,但是这种写法不够准确,

比如你按键盘上的左右两边的Ctrl键,e.key都是Ctrl

e.code会明确写出来是CtrlLeft还是CtrlRight

再比如,在键盘上敲击空格键,keycode就有明显的区别了:

在这里插入图片描述

示例:

document.onkeydown = function(e) {
  console.log('code: ', e.code);
}

参考文档:https://developer.mozilla.org/zh-CN/docs/Web/API/KeyboardEvent/keyCode

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文