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>
相关推荐
格子软件11 分钟前
2026年GEO优化系统源码级状态机与多模型调度拆解
java·前端·vue.js·人工智能·vue·geo
HUMHSX1 小时前
Vue 项目启动全流程解析:从入口文件到全局指令注册与页面渲染
前端·javascript·vue.js
an317422 小时前
弹窗数据流设计的两种高阶架构实践
前端·vue.js·架构
用户938515635072 小时前
手把手教你实现一个 MCP 文件读取服务器:从协议到代码的深度解析
javascript·人工智能
用户2136610035722 小时前
Vue商品详情与放大镜组件
前端·javascript
半个落月2 小时前
从Tapas小Demo理清localStorage、事件与this
前端·javascript
用户938515635072 小时前
RAG 实战:从零搭建语义搜索系统,彻底告别关键词匹配的尴尬
javascript·人工智能
李明卫杭州2 小时前
Vue2 中 v-model 处理不同数据结构的技巧
前端·javascript·vue.js
李明卫杭州2 小时前
使用 computed 处理 v-model 复杂数据结构
前端·javascript·vue.js
天才熊猫君6 小时前
配置与数据分离:一种可视化搭建的属性编辑方案
前端·javascript