前言

vue一共给我们准备了6个事件修饰符,前三个比较常用,后三个少见,这里着重讲下前三个

1.prevent:阻止默认事件(常用)
2. stop:阻止事件冒泡(常用)
3. once:事件只触发一次(常用)
4.captrue:使用事件的捕捉模式(不常用)
5.self:只有event.target是当前操作的元素时才触发事件(不常用)
6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕(不常用)

阻止默认事件(常用)

首先写一个简单的例子,一个简单的超链接标签,我们给一个百度链接和一个单击事件

查看页面,虽然点击文字出现了弹窗,但是随之跳到了超链接指向的地址

跳转到链接是a标签的默认行为,那么我们怎么阻止这个默认行为呢?

普通阻止默认行为方式

使用参数对象的preventDefault方法

这时候浏览器点击文字提示弹框后就不会跳转了

vue阻止默认行为方式

在vue中,不用我们亲自编写上面的方式,我们可以在事件名称后面跟一个.prevent就可以阻止默认行为了,效果都是一样的

 <!-- .prevent:阻止默认事件 -->
<a href="http://www.baidu.com" @click.prevent="showInfo">点我提示信息</a>

阻止事件冒泡(常用)

编写代码,实现例子

我们发现,单击玩确定后会继续弹窗,这就是一个冒泡事件

阻止的方式和上一个例子类似,我这里以及下面都用vue特定的阻止行为了

我们在单击事件前面加上.stop

<!--   .stop:阻止事件冒泡 -->
<button @click.stop="showInfo">点我提示信息</button>

再次验证浏览器,解决问题

事件只触发一次(常用)

编写代码

如图,按钮点击多少次,就会弹窗多少次

我们加上once修饰符

<!--   3.once:事件只触发一次 --><button @click.once="showInfo">点我提示信息</button>

使用事件的捕捉模式 (不常用)

   <!--  4.captrue:使用事件的捕捉模式 --><div class="box1" @click.capture="showMsg(1)">div1 <div  class="box2" @click="showMsg(2)">div2</div></div>

只有event.target是当前操作的元素时才触发事件(不常用)

 <!--     5.只有event.target是当前操作的元素时才触发事件 --><div class="demo1" @click.self="showInfo"><button @click="showInfo">点我提示信息</button></div>

事件的默认行为立即执行,无需等待事件回调执行完毕不常用)

扩展:多个修饰符使用小技巧

比如现在有个需求,我们知道点击超链接后会弹窗然后跳转到指定的url,那么我们又想阻止冒泡,又想阻止默认行为,该怎么办呢?

我们可以多个修饰符一起使用,比如

// 多个事件修饰符一起使用,可以随意顺序<a href="http://www.baidu.com" @click.prevent.stop="showInfo">点我提示信息</a>

页面上只会弹窗就不跳转了

总结

个人感觉,了解常见的这些时间修饰符就够用了,不常见的了解即可。用到的时候再搜索相关资料

Vue常见的事件修饰符相关推荐

  1. Vue中的事件修饰符

    事件修饰符 在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求.尽管我们可以在方法中轻松实现这点,但更好的方式是: ...

  2. Vue事件处理(事件修饰符,键盘事件)

    Vue中的事件修饰符:1.prevent:阻止默认事件(常用)2.stop: 阻止事件冒泡(常用)3.once: 事件只触发一次(常用)4.capture: 使用事件的捕获模式5.self:只有eve ...

  3. Vue学习:事件修饰符

    当使用连接点击,触发默认事件时,会出现跳转,跳转是默认行为,可以取消 <!-- 准备容器 --><div id='root'> <h2>欢迎页面,你好 {{name ...

  4. vue 指令 v-on 事件修饰符-鼠标事件-什么是事件冒泡

    什么是事件冒泡 <body><div id="app"><div>{{num}}</div><div v-on:click=' ...

  5. Vue学习01-v-on事件修饰符

    v-on事件修饰符: .stop:阻止标签的向外冒泡行为 如div内部有个button,但是div和button都有点击事件.此时只希望点击按钮时触发按钮点击事件,不触发div点击事件,那么v-on: ...

  6. vue中各类事件修饰符

    1.stop:阻止事件冒泡,顺序是执行顺序是div>body>document,js默认开启事件冒泡.e.stopPropagation().e.stopImmediatePropagat ...

  7. vue 指令 v-on 事件修饰符-自定义键盘事件

    <body><div id="app">用户名:<input type="text" v-on:keyup.f1='clearCo ...

  8. vue 指令 v-on 事件修饰符-键盘事件-键盘事件梳理

    <body><div id="app">用户名:<input type="text" v-on:keyup.delete='cle ...

  9. 前端学习(2922):vue中的事件修饰符

最新文章

  1. Leangoo Talk第一期——Scrum与OKR融合实践
  2. jsp中JAVA代码取select值_jsp获取下拉列表select选择的值 | 学步园
  3. oracle库存会计期无法打开,打开调整会计期出错!(有图)
  4. springcache使用笔记002_注释驱动的 Spring cache 按条件查询
  5. 服务器端可控情形的Javascript跨域访问解决方法
  6. 两本关于sharepoint 2010的书值得参考
  7. 如何创造一门编程语言?
  8. Servlet生命周期与线程安全
  9. Android显示实时帧率工具
  10. “闽南金三角”——世丰管道福建漳州高级水电工程师会议
  11. 二字动词 复盘赋能_【格格读书成长营】用复盘来为自己赋能
  12. 【Vue】后台管理系统
  13. 常见的HTTP请求方法
  14. 施耐德电气推出适用于边缘计算的微型数据中心机柜
  15. 电信宽带连接不上无线可连接服务器,我家装的是电信的宽带,能连上无线网络,但是就是不能上网连接的信号也是非常好,请问是什么问题...
  16. CSS排版练习小作业,文字围绕图片显示,基本的float浮动定位
  17. (最新react-native-0.59.5) 如何将ReactNative项目集成到现有得Android项目中(两种实现方法之一)
  18. 文本编辑时切换中英文输入状态
  19. IIC读取AS5600磁编码器并计算相对角度与圈数代码移植
  20. 使用Frida进行IOS的抓包

热门文章

  1. Python 获取二维数组的某一列
  2. HTML 怎样添加化学表达式(上标与下标)
  3. 数组,List,Set相互转化
  4. Python+AI给漫画上色
  5. 嵌入式Linux 串口编程系列3——通过VTIM、VMIN、select实现串口不定长数据接收功能
  6. 两个List对象,指定属性,取差集、交集。
  7. vue 数组删除(对象)单条删除,多条删除
  8. IDEA下新建vue项目
  9. html使用vue axios,使用 Vue和axios
  10. 新学期规划计算机,新学期规划学习