现代浏览器标准中已不再使用keyCode
属性,而改用event.key
,但是掌握常用按键及其传统keyCode
值对我们的日常开发仍会有很大的帮助,本文分享了JavaScript 中提供的所有键盘按键和 keyCode
值。
event.key
和keyCode
的区别event.key
提供了按下的键的值,使代码更容易理解和维护。例如,按下 A 键会产生"a "
或"
A"
,这取决于是否同时按下了 shift 键。keyCode
是一个数值,已被弃用,未来的网络标准可能不再支持。它的可读性较差,如果不参考代码列表,很难确定该值代表哪个按键。keyCode
下面列出了现代开发实践中的event.key
值及其相应的keyCode
值(已弃用),以供参考:
event.key
为"a"
至"z"
(小写不含 shift 键,大写含 shift 键),keyCode
为65
至90
event.key
为"0"
至"9"
,顶行数字的keyCode
为48
至57
event.key
为""
,keyCode
为32
event.key
为 "Enter"
,keyCode
为13
event.key
为"Escape"
,keyCode
为27
event.key
为"Shift"
,keyCode
为16
event.key
为"Control"
,keyCode
为17
event.key
为"Alt"
,keyCode
为18
event.key
为"Backspace"
,keyCode
为8
event.key
为"Tab"
,keyCode
为9
event.key
为"ArrowLeft",keyCode
为37
event.key
为"ArrowUp"
,keyCode
为38
event.key
为"ArrowRight",keyCode
为39
event.key
为"ArrowDown"
,keyCode
为40
event.key
为"F1"
至"F12"
,keyCode
为112
至123
检测按键动作时,请使用event.key
:
document.addEventListener('keydown', (event) => {
console.log(`Key pressed: ${event.key}`);
});
keyCode
迁移到event.key
从keyCode
转向event.key
有几个原因:
event.key
更易于理解,无需参考对应文档。event.key
对按键物理位置的依赖性较小,因此更适合国际应用。keyCode
,因为未来的浏览器和设备可能不支持它。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。