欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue事件修饰符和按键修饰符用法总结

程序员文章站 2022-07-05 20:51:42
之前关于vue事件修饰符和按键修饰符的一点分析,最近需要回顾,就顺便发到随笔上了 在事件处理程序中调用 event.preventdefault() 或 event.st...

之前关于vue事件修饰符和按键修饰符的一点分析,最近需要回顾,就顺便发到随笔上了

在事件处理程序中调用 event.preventdefault() 或 event.stoppropagation() 是非常常见的需求。尽管我们可以在 methods 中轻松实现这点,但更好的方式是:methods 只有纯粹的数据逻辑,而不是去处理 dom 事件细节。

为了解决这个问题, vue.js 为 v-on 提供了 事件修饰符。通过由点(.)表示的指令后缀来调用修饰符。

.prevent
.capture
.self
.once
 <div @click='dothis' style="width:100px;height: 100px; background: red;">
  点击父元素
 <a v-on:click.stop="dothis">点击子元素
 </a>
 </div>

当点击父元素的时候,执行dothis,当点击子元素a的时候,这个点击动作不单单触发了a标签,同时也触发了div标签,这就是事件冒泡,所以假设上述例子中a标签为v-on:click='dothis',则dothis会被执行两次,父元素和子元素都执行了一次click事件,而.stop则是阻止事件冒泡,再次点击a标签,click事件只会执行一次

按键修饰符

在监听键盘事件时,我们经常需要监测常见的键值。 vue 允许为 v-on 在监听键盘事件时添加按键修饰符:

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

记住所有的 keycode 比较困难,所以 vue 为最常用的按键提供了别名:

<input v-on:keyup.enter="submit">
<input @keyup.enter="submit">

全部的按键别名:

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

可以通过全局 config.keycodes 对象自定义按键修饰符别名:

// 可以使用 v-on:keyup.f1 
vue.config.keycodes.f1 = 112 

按键修饰符

2.1.0 新增

可以用如下修饰符开启鼠标或键盘事件监听,使在按键按下时发生响应。

.ctrl
.alt
.shift
.meta

注意:在mac系统键盘上,meta对应命令键 (⌘)。在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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。