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.按键别名 来监听。
