Vue键盘按键别名/事件说明及案例

Vue中的按键别名():

  • 回车 => enter

  • 删除 => delete (退格 、 删除 按键)

  • 退出 => esc

  • 空格 => space

  • 换行 => tab (必须配合keydown去使用)

  • 上 => up

  • 下 => down

  • 左 => left

  • 右 => right

如果没有内置别名可以组合:

  • 组合类 => shift + tab

监听事件:

  • keydown:当用户按下任意键时触发。
  • keyup:当用户释放任意键时触发。
  • keypress:当字符键被按下并松开时触发。注意,此事件对于非字符键(如箭头键、功能键等)可能不会触发。

例如:

html 复制代码
<!-- 在输入框元素上绑定不同键盘事件 -->
<input 
    type="text" 
    @keyup.enter="onEnterKeyPressed" 
    @keydown.delete="onDeleteKeyPressed" 
    @keydown.shift.tab="onShiftTabPressed"
    @keydown.esc="onEscPressed"
    @keydown.space="onSpaceBarPressed" 
    @keydown.arrow-up="onArrowUp" 
    @keydown.arrow-down="onArrowDown" 
    @keydown.arrow-left="onArrowLeft"
    @keydown.arrow-right="onArrowRight"
>

<script>
// 在 Vue 实例的 methods 对象中定义相应的事件处理函数
new Vue({
  el: '#app',
  methods: {
    onEnterKeyPressed(event) {
      console.log('回车键被按下并释放');
      // 可以在此处执行特定逻辑
    },
    onDeleteKeyPressed(event) {
      console.log('退格键被按下');
      // 删除操作或其他逻辑
    },
    onShiftTabPressed(event) {
      if (event.shiftKey && event.key === 'Tab') {
        console.log('Shift+Tab 组合键被按下');
        // 处理换行或焦点切换逻辑
      }
    },
    onEscPressed(event) {
      console.log('ESC 键被按下');
      // 可能用于关闭弹窗等操作
    },
    onSpaceBarPressed(event) {
      console.log('空格键被按下');
      // 执行与空格键相关的功能
    },
    onArrowUp(event) {
      console.log('向上箭头键被按下');
      // 滚动、导航等操作
    },
    onArrowDown(event) {
      console.log('向下箭头键被按下');
      // 同样可用于滚动或导航
    },
    onArrowLeft(event) {
      console.log('向左箭头键被按下');
      // 左侧导航或调整
    },
    onArrowRight(event) {
      console.log('向右箭头键被按下');
      // 向右导航或调整
    },
  },
});
</script>
相关推荐
一颗烂土豆39 分钟前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen3 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly6 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯6 小时前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒8 小时前
Bun 哪比 Node.js 快?
javascript·后端
JieE21215 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong18 小时前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
_柳青杨1 天前
深入理解 JavaScript 事件循环
前端·javascript
大家的林语冰1 天前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化
weedsfly1 天前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript