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

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



FFIVE
浏览 240回答 2
2回答

LEATH

来自 MDN(https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode):已弃用的 KeyboardEvent.keyCode 只读属性表示一个系统和实现相关的数字代码,用于标识按下的键的未修改值。这通常是与密钥对应的十进制 ASCII (RFC 20) 或 Windows 1252 代码。如果无法识别密钥,则此值为 0。如果可能,您应该避免使用它;它已被弃用一段时间。相反,您应该使用 KeyboardEvent.code(如果已实现)。不幸的是,某些浏览器仍然没有它,因此您必须小心确保使用所有目标浏览器都支持的浏览器。

波斯汪

上面评论中所述的 .key 属性对我有用,因为它没有被弃用,并且可以在我正在测试的所有浏览器中使用(chrome 77.0.3865.90[desktop] 和 77.0.3865.92[Iphone]6s what ever safari is on my Iphone6s、firefox 68.0.1 和通过 jetbrains android 模拟器 [firefox 68.1.1] 以及在带有 IE10 和 edge 的 Windows 10 上。keyCode 只在使用 chrome 时出现了一些小问题,出于某种原因,我有时会遇到类型错误. 说实话,我真的很希望能在这个话题上得到一个很好的答案,但几天过去了,我一无所获。由于关于这个主题的内容很少,我想我会扔掉对我有用的东西,然而; key 不适用于所有应用程序。我读过它对于特定于非英语语言的键盘来说不是一个好的选择,因为它以字符串格式返回键的名称,而不是 ASCII 码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript