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>
相关推荐
前端互助会22 分钟前
Live2D形象展示与文本语音播报:打造生动交互体验的完整实现
前端·vue.js·microsoft·交互
chilavert3182 小时前
技术演进中的开发沉思-191 JavaScript: 发展历程(上篇)
开发语言·javascript·ecmascript
武昌库里写JAVA3 小时前
微擎服务器配置要求,微擎云主机多少钱一年?
java·vue.js·spring boot·后端·sql
dy17173 小时前
el-table表头上下显示内容
javascript·vue.js·elementui
亮子AI3 小时前
给你的应用加上Google账号登录
javascript
努力往上爬de蜗牛4 小时前
react native 实现选择图片或者拍照上传(多张)
javascript·react native·react.js
谢尔登4 小时前
【React】React组件的渲染过程分为哪几个阶段?
前端·javascript·react.js
q***72565 小时前
Spring Boot + Vue 全栈开发实战指南
vue.js·spring boot·后端
lcc1875 小时前
Vue Vue与VueComponent的关系
前端·vue.js
无敌最俊朗@5 小时前
Vue 3 概况
前端·javascript·vue.js