event.keyCode
属性已被废弃,取而代之的是 event.key
和 event.code
。event.key
返回按下的键的字符值,而 event.code
返回物理键盘上按下的键的代码。JavaScript Event Keycode
JavaScript中的keyCode
属性是一个已被废弃的属性,它提供了关于按下的键的信息,现代浏览器推荐使用KeyboardEvent.key
或KeyboardEvent.code
来获取按键信息,尽管如此,我们仍然可以了解keyCode
是如何工作的,以及它在旧版本的浏览器中的作用。
源码解析
在早期的JavaScript版本中,可以通过监听键盘事件并访问事件的keyCode
属性来获取按键的代码,以下是一个简单的示例:
document.addEventListener('keydown', function(event) { var key = event.keyCode; console.log("Key code: " + key); });
在这个例子中,当用户按下一个键时,会触发keydown
事件,事件对象包含了关于该事件的所有信息,包括按下的键的代码(keyCode
),我们将这个代码打印到控制台。
keyCode值表
以下是一些常见的keyCode
值及其对应的键:
Key | Key Code |
A | 65 |
B | 66 |
C | 67 |
… | … |
Z | 90 |
Enter | 13 |
Space | 32 |
Arrow Up | 38 |
Arrow Down | 40 |
Arrow Left | 37 |
Arrow Right | 39 |
这些值是基于ASCII码的,其中大写字母和小写字母的值是不同的,数字和特殊字符也有相应的键码。
相关问题与解答
问题1:如何在现代浏览器中使用KeyboardEvent.key
或KeyboardEvent.code
代替keyCode
?
答案:在现代浏览器中,可以使用KeyboardEvent.key
或KeyboardEvent.code
来获取按键信息。
document.addEventListener('keydown', function(event) { var key = event.key; // 或者 event.code console.log("Key: " + key); });
问题2:为什么keyCode
被废弃了?
答案:keyCode
被废弃是因为其设计存在一些问题,并且它的功能已经被更现代的属性所取代。keyCode
只能提供有限的按键信息,而且对于非字符键(如方向键、功能键等)的处理不够直观,相比之下,KeyboardEvent.key
和KeyboardEvent.code
提供了更全面和一致的按键信息,使得开发者能够更容易地处理各种类型的按键事件。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1073215.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复