对Javascript的'.keyCode属性的当前状态感到困惑”

问题描述 投票:0回答:2

找不到我的问题的真实可靠答案。 Javascript的属性'KeyboardEvent.keyCode'是否已弃用? Jetbrains IDE的“ PHP-STORM”和“ WEB-STORM”表示已弃用,但是它们别无选择。因为我的IDE告诉我它已被弃用,所以我对其进行了搜索,发现位于URL:(https://www.w3schools.com/jsref/event_key_keycode.asp)的W3Schools没有声明它已被弃用。通过阅读他们专门针对.keyCode属性的页面,人们会认为它很好用。再说一次,它被描述了吗?如果不推荐使用,那么是他们使用的替代方法,还是变通方法返回了用户按下的键的值?

event.keyCode;

javascript html keyboard frontend deprecated
2个回答
0
投票

来自MDN(https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode):

不推荐使用的KeyboardEvent.keyCode只读属性表示一个系统和实现相关的数字代码标识按键的未修改值。通常是十进制ASCII(RFC 20)或与密钥对应的Windows 1252代码。如果钥匙无法识别,该值为0。

如果可能,应避免使用此选项;它已经过时了时间。相反,如果已实现,则应该使用KeyboardEvent.code。不幸的是,某些浏览器仍然没有它,因此您必须小心确保使用所有目标都支持的一种浏览器。


0
投票

上面评论中所述的.key属性对我有用,因为它没有被描述并且不能在我正在测试的所有浏览器中使用(chrome 77.0.3865.90 [desktop]和77.0.3865.92 [Iphone] 6s Safari是什么在我的Iphone6s,firefox 68.0.1以及通过jetbrains android模拟器[firefox 68.1.1]以及带有IE10和edge的Windows 10上。老实说,我真的很想为这个问题作一个解答,但是现在已经过了几天,我一无所获。由于关于这个主题的讨论很少,我想我会放弃对它有用的东西我;但是,键对所有应用程序都无效。我读到它对于非英语语言专用键盘不是一个好选择,因为它以字符串格式而不是ASCII码返回键的名称。

© www.soinside.com 2019 - 2024. All rights reserved.