首页 > 其他分享 >使用event.key属性来监听键盘按键

使用event.key属性来监听键盘按键

时间:2024-01-27 11:13:57浏览次数:29  
标签:监听 键盘 key Escape event 属性

在现代浏览器中,使用event.key属性来监听键盘按键是更好的做法。这是因为event.keyCode已经被弃用,并且在不同的浏览器和设备上可能会有不同的行为。

根据MDN文档:

event.keyCode: 这个属性已经废弃,不推荐使用,因为它对于同一字符在不同布局下可能返回不同的值。
event.key: 这是推荐使用的属性,它返回一个表示按下的实际键的字符串,不受当前布局的影响。
所以,在监听Escape键时,你应该这样写:

document.addEventListener('keydown', function(event) {
  if (event.key === 'Escape') {
    // 处理Esc键按下事件
    console.log('Escape key pressed');
  }
});

这种方式可以提供更好的兼容性和跨平台一致性。

Keycode对照表

标签:监听,键盘,key,Escape,event,属性
From: https://www.cnblogs.com/longmo666/p/17991201

相关文章

  • React中的Key属性的作用
    在React中,我们常常会遇到需要渲染列表或循环生成组件的场景。为了提高性能和优化用户体验,React引入了一个特殊的属性——key。本文将详细介绍React中key属性的作用、原理,并提供一些最佳实践。一、Key属性的作用Key属性是React要求使用者在渲染多个组件时提供的一个特殊属性。它的作......
  • eventPollerPool-Pipe 分析
    1.eventPoller分析1.1event设置:基本知识详见manepollLevel-triggeredandedge-triggered/水平触发和边沿触发/LT:水平触发没有标识;ET:边沿触发EPOLLET;默认触发方式是水平触发,什么标识都不用指定,如果要指定边沿触发,则指定为EPOLLET;参考文章:https://blog.......
  • Tampermonkey——自动登录CUG
    //==UserScript==//@nameAutoCUG//@namespacehttp://tampermonkey.net///@version2024-01-26//@descriptiontrytotakeovertheworld!//@authorYou//@match*://192.168.167.115/*//@match*://nap.cug.edu.cn/......
  • (QT) UDP监听断开
    UDP通讯只需要是用bind绑定对IP和Port的监听,断开监听可以使用函数abort() 做实验的时候用自定义类 classUDPClient:publicQObject{Q_OBJECTpublic:explicitUDPClient(QObject*parent=nullptr);publicslots:voidstartClient();voide......
  • 关于does not have a method xx to handle event "tap"我有话要说
    前言>我正在对接微信小程序订阅消息功能,看了官方文档觉得挺简单的。于是踩坑开始了######应该是这样简单的```wx.requestSubscribeMessage({tmplIds:[''],success(res){}})```######你直接调用会得到`订阅失败{errMsg:"requestSubscribeMessage:failcanonlybein......
  • 关于list里面对象某个字段的值和map的key对比
    开发中,我常遇到这样的情况,就是一个list集合里面装了10个对象,好多条数据某个字段(A字段)的值是想同的,通过这个字段去确定另外一个值(B字段),就会拿着这个A字段去查询别的表,然后再给B字段赋值,但这有个问题,就是遍历10次去查询,那么数据库的IO交互就很多次。对于这个解决这个问题,我是这样处......
  • jdk的keytool生成jks和获取jks的信息,公匙
     1.生成jks。执行命令:keytool-genkeypair-aliasmytest-keyalg RSA-keypassmypass-keystoremytest.jks-storepassmypass-keystorejks文件保存路径生成的mytest.jks证书中包含我们的密钥:公钥和私钥。2.利用"keytool-list-v-keystoretest.jks"查看JKS中生......
  • git创建SSH keys
    git出现Pleasemakesureyouhavethecorrectaccessrightsandtherepositoryexists,需要创建SSHkeys。步骤:1、打开Git.bash进行命令行界面输入代码如下: gitconfig--globaluser.name"YourName"#配置user.namegitconfig--globaluser.email"your_email@exa......
  • Error Code: 1171. All parts of a PRIMARY KEY must be NOT NULL
    今天建表时候发现报错了:CREATETABLEt3(c1intDEFAULTNULL,c2intDEFAULTNULL,c3intNOTNULL,c4intDEFAULTNULL,PRIMARYKEY(c1,c2,c3))ENGINE=InnoDBDEFAULTCHARSET=utf8mb3ErrorCode:1171.AllpartsofaPRIMARYKEYmustbeNOTNULL;ifyounee......
  • 有状态转化操作UpdateStateByKey
    UpdateStateByKey原语用于记录历史记录,有时,我们需要在DStream中跨批次维护状态(例如流计算中累加wordcount)。针对这种情况,updateStateByKey()为我们提供了对一个状态变量的访问,用于键值对形式的DStream。给定一个由(键,事件)对构成的DStream,并传递一个指定如何根据新的事件......