键码·KeyP
p
KeyP
keyCode 80

KeyP 键码 — keyCode 80

字母

KeyP 的 keyCode 是 80,key 是 "p",location 为 0。

位置固定为 KeyA。哪怕键盘上敲出的是韩文 ㅁ,code 依然是 KeyA。

code(位置)
KeyP
key(美式布局)
"p"
按住 Shift
"P"
keyCode(已废弃)
80
十六进制
0x50
location
0 · 标准
是否输入字符
共用 keyCode

在代码里

用 code 比较,换了键盘布局也还能抓住同一个位置。

window.addEventListener('keydown', e => {
  if (e.code === 'KeyP') {
    // p
  }
});

code 与 key 的区别

code 是键盘上的物理位置,韩文键盘还是法文键盘都一样。key 是当下敲出来的字符,会变——同一个位置可能是 a、A 或 ㅁ。问“按了哪个位置”用 code,问“输入了什么”用 key。

keyCode 已从标准中移除。新代码请用 code 或 key,这里的数字用来读旧代码。

同类的键

怎么看这一页

  • code 是位置,key 是敲出来的字符。做快捷键要按 code 比较。
  • keyCode 已废弃,只在读旧代码时用。
  • 左右 Shift 的 keyCode 相同,靠 location 区分。
  • 数字行的 1 和小键盘的 1 是两个键——49 和 97。

常见问题

Q. KeyP 的 keyCode 是多少?

80,十六进制是 0x50。

Q. 代码里怎么判断 KeyP?

用 e.code === 'KeyP' 比较。用 keyCode 判断,会随浏览器和键盘布局摇摆。

Q. 这个键的 location 是多少?

0。

Q. 按这个键会输入字符吗?

会,key 是 "p",按住 Shift 则是 "P"。