对Javascript的'.keyCode属性'

时间:2019-10-07 17:10:47

标签: javascript html keyboard frontend deprecated

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

event.keyCode;

2 个答案:

答案 0 :(得分:0)

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

  

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

     

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

答案 1 :(得分:0)

上面的评论中所述的.key属性对我来说很有效,因为它没有被描述并且不能在我正在测试的所有浏览器中使用(chrome 77.0.3865.90 [desktop]和77.0.3865.92 [Iphone] 6s曾经是野生动物园在我的Iphone6s,firefox 68.0.1上以及通过jetbrains android仿真器[firefox 68.1.1]以及在带有IE10和edge的Windows 10上。keyCode仅与chrome发生了一些小小的打,,由于某种原因,我遇到了类型错误老实说,我真的很想在这个问题上作个好答,但是现在已经过了几天,我什么都没得到。由于关于这个主题的讨论很少,我想我会放弃一些可行的方法但是对我而言;该键不适用于所有应用程序,我了解到,对于非英语语言专用的键盘,这不是一个好选择,因为它以字符串格式而不是ASCII代码返回键的名称。