键码·ArrowDown
ArrowDown
ArrowDown
keyCode 40

ArrowDown 键码 — keyCode 40

移动

ArrowDown 的 keyCode 是 40,key 是 ArrowDown,location 为 0。

不打字,只移动光标。

code(位置)
ArrowDown
key(美式布局)
ArrowDown
keyCode(已废弃)
40
十六进制
0x28
location
0 · 标准
是否输入字符
共用 keyCode

在代码里

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

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

code 与 key 的区别

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

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

同类的键

怎么看这一页

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

常见问题

Q. ArrowDown 的 keyCode 是多少?

40,十六进制是 0x28。

Q. 代码里怎么判断 ArrowDown?

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

Q. 这个键的 location 是多少?

0。

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

不会。key 是 ArrowDown,不输入任何字符。