keydown 指的是 键盘按键被按下时触发的事件

1. 基本概念

keydown 是 JavaScript 原生键盘事件之一,当用户按下键盘上的任意键(包括功能键如 Ctrl、Shift 等)时立即触发。

2. 在 Vue 中的用法

文档第 31 行展示了 Vue 中使用 keydown 的典型方式:

<input type="text" placeholder="按下回车提示输入" @keydown.huiche="showInfo">

这里:

  • @keydown 是 Vue 的事件绑定语法,等价于原生 addEventListener('keydown', ...)
  • .huiche 是自定义按键别名(文档第 51 行定义:Vue.config.keyCodes.huiche = 13,即回车键)
  • 整体意思:当按下回车键时,触发 showInfo 方法

3. 文档中提到的关键点(第 21 行注释)

换行 => tab (特殊键,必须配合 keydown 去使用)

这是因为 tab 键的默认行为是切换焦点,如果使用 keyup 事件,焦点已经切换走了,无法捕获。而 keydown 在按下瞬间就触发,可以阻止默认行为。

4. 与 keyup 的区别

事件 触发时机 文档中的说明
keydown 按键按下时立即触发 配合系统修饰键(ctrl/alt/shift/meta)使用时,”正常触发事件”
keyup 按键松开时触发 配合系统修饰键使用时,”按下修饰键的同时,再按下其他键,随后释放其他键,事件才被触发”

5. 常用场景

  • 回车提交表单(`@keydown.enter`)
  • 快捷键操作(如 Ctrl+S 保存)
  • 游戏中的连续按键控制
  • Tab 键切换焦点时的特殊处理

简单说:keydown 就是 键盘按下的那一刻触发的事件,在 Vue 中用 @keydown@keydown.按键别名 来监听。