[Vue]键盘事件
1. Vue中常用的按键别名:
回车=>enter
删除=>delete(捕获“删除”和“退格”键)
退出=>esc
空格=>space
换行=>tab(特殊,必须配合keydown使用)
上=>up
下 =>down
左=>left
右=>right
2. Vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意要转为kebab-case(短横线命名)
3. 系统修饰键(用法特殊): ctrl、alt、shift、meta(win键)
(1).配合keyup使用: 按下修饰健的同时,再按下其他键,随后释放其他键,事件才被触发。
(2).配合keydown使用: 正常触发事件。
4. 也可以使用keyCode去指定具体的按键(不推荐,已从web标准中移除,详见MDN)
5. Vue.config.keyCodes.自定义排名=键码,可以去定制按键别名
6. 组合键可以在@keyup @keydown后面连续写多个,如:@keyup.ctrl.alt.y
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="lib/vue-2.5.9.js"></script> </head> <!-- 1. Vue中常用的按键别名: 回车 => enter 删除 => delete(捕获“删除”和“退格”键) 退出 => esc 空格 => space 换行 => tab(特殊,必须配合keydown使用) 上 => up 下 => down 左 => left 右 => right 2. Vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意要转为kebab-case(短横线命名) 3. 系统修饰键(用法特殊): ctrl、alt、shift、meta(win键) (1).配合keyup使用: 按下修饰健的同时,再按下其他键,随后释放其他键,事件才被触发。 (2).配合keydown使用: 正常触发事件。 4. 也可以使用keyCode去指定具体的按键(不推荐,已从web标准中移除,详见MDN) 5. Vue.config.keyCodes.自定义排名=键码,可以去定制按键别名 --> <body> <div id="root"> <h2>欢迎学习{{name}}~</h2> <input type="text" name="" placeholder="按下Enter提示输入" id="" @keyup.enter="onkey"> <input type="text" name="" placeholder="按下CapsLock提示输入" id="" @keyup.caps-lock="onkey"> <!-- 按下tab键会切走焦点,用keyup绑定不生效,应该用keydown --> <input type="text" name="" placeholder="按下Tab提示输入" id="" @keydown.tab="onkey"> <!-- 系统修饰键 --> <input type="text" name="" placeholder="按下Ctrl提示输入" id="" @keyup.ctrl="onkey"> <!-- 组合键可以在@keyup @keydown后面连续写多个 --> <input type="text" name="" placeholder="按下Ctrl+Alt+Y提示输入" id="" @keyup.ctrl.alt.y="onkey"> </div> </body> <script> let vm = new Vue({ el: '#root', data: { name: '键盘事件' }, methods: { onkey: function (e) { // 如果一个按键名/按键编码未知,可以用keyup事件打印event.key或者event.keyCode查看 console.log('key is --> ', e.key, e.keyCode); console.log('value:', e.target.value); } } }) </script> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2022-10-21 [HTML]改变input框中placeholder颜色的方法
2021-10-21 [JavaScript]深复制平替