按键修饰符

488 字
2 分钟
按键修饰符

在绑定了键盘或鼠标的点击事件后,可以通过按下的按键触发要进行的事件,这时需要在后方添加表示按键的修辞符

按键码#

可以通过 keyCode 的值来绑定需要触发的按键

<input v-on:keyup.13="submit" />

部分特殊的按键码可以使用别名

  • .enter
  • .tab
  • .delete (捕获“删除”和“退格”键)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

也可以自定义按键修饰符的别名

Vue.config.keyCodes.f1 =112
//使用Vue对象上的全局属性config.keyCodes来定义别名
//在绑定时就可以使用v-on:keyup.f1直接对f1按键进行操作了

系统修饰符#

系统修辞符监听仅在同时按下了绑定键盘或鼠标按钮时才会触发事件

键盘#

  • .ctrl
  • .alt
  • .shift
  • .meta

注意:

在 Mac 系统键盘上,meta 对应 command 键 (⌘)。在 Windows 系统键盘 meta 对应 Windows 徽标键 (⊞)。

在 Sun 操作系统键盘上,meta 对应实心宝石键 (◆)。

在其他特定键盘上,尤其在 MIT 和 Lisp 机器的键盘、以及其后继产品,比如 Knight 键盘、space-cadet 键盘,meta 被标记为“META”。

在 Symbolics 键盘上,meta 被标记为“META”或者“Meta”。

<!-- Alt + C -->
<input @keyup.alt.67="clear" />
<!-- Ctrl + Click -->
<div @click.ctrl="doSomething">Do something</div>

鼠标#

  • .left
  • .right
  • .middle 鼠标中键

注意事项#

注<修饰键与常规按键不同>,在和 keyup 事件一起用时,事件触发时修饰键必须处于按下状态。

换句话说,只有在按住 ctrl 的情况下释放其它按键,才能触发 keyup.ctrl。而单单释放 ctrl 也不会触发事件。如果只想要单独触发,则需要使用 keycode 编码或.exact修饰符

.exact

.exact 修饰符允许用户控制由精确的系统修饰符组合触发的事件

<!-- 即使 Alt 或 Shift 被一同按下时也会触发 -->
<button @click.ctrl="onClick">A</button>
<!-- 有且只有 Ctrl 被按下的时候才触发 -->
<button @click.ctrl.exact="onCtrlClick">A</button>
<!-- 没有任何系统修饰符被按下的时候才触发 -->
<button @click.exact="onClick">A</button>

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

按键修饰符
https://sukksa.github.io/posts/an-jian-xiu-shi-fu/
作者
Sukksa
发布于
2022-10-06
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
Vuex
VueVuex 是在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。
2
Vue 插件
Vue插件通常用来为 Vue 添加全局功能。插件的功能范围没有严格的限制,一般有下面几种: 添加全局方法或者 property 。如: vue custom element 添加全局资源:指令/过滤器/过渡等。如 vue touch 通过全局混入来添加一些组件选项。如 vue router 添加 Vue…
3
Mixin (混入)
Vue混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项 Mixins 是一种分发 Vue 组件中可复用功能的非常灵活的一种方式。页面的风格不用,但是执行的方法和需要的数据类似就可以选…
4
vue-router
Vuevue router 是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。 我们可以访问其官方网站对其进行学习:https://router.vuejs.org/zh/ vue router 是基于路由和组件的 路由用户设定访问路径的,将路径和组件映射起来。 在 vu…
5
Vue 脚手架
Vue使用前置: 第一步(没有安装过的执行):全局安装 @vue/cli npm install g @vue/cli 第二步:切换到要创建项目的目录,然后使用命令创建项目 vue create xxxxx 第三步:启动项目 npm run serve
随机文章随机推荐
Profile Image of the Author
Sukksa
记录前端学习与日常
公告
博客刚刚上线,内容还在慢慢补齐。欢迎随便逛逛~
分类
标签
最新动态
站点统计
文章
69
分类
16
标签
17
总字数
178,517
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录