1. 事件修饰符

Vue中的事件修饰符:

  1. prevent:阻止默认事件(常用);
  2. stop:阻止事件冒泡(常用);
  3. once:事件只触发一次(常用);
  4. capture:使用事件的捕获模式;
  5. self:只有event.target是当前操作的元素时才触发事件;

示例代码:

<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>事件修饰符</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script><style>* {margin-top: 20px;}.demo1 {height: 50px;background-color: skyblue;}.box1 {padding: 5px;background-color: skyblue;}.box2 {padding: 5px;background-color: orange;}.list {width: 200px;height: 200px;background-color: peru;overflow: auto;}li {height: 100px;}</style>
</head><body><!-- Vue中的事件修饰符:1.prevent:阻止默认事件(常用);2.stop:阻止事件冒泡(常用);3.once:事件只触发一次(常用);4.capture:使用事件的捕获模式;5.self:只有event.target是当前操作的元素时才触发事件;--><!-- 准备好一个容器--><div id="root"><h2>欢迎来到{{name}}学习</h2><!-- 阻止默认事件(常用) --><a href="http://www.atguigu.com" @click.prevent="showInfo">点我提示信息</a><!-- 阻止事件冒泡(常用) --><div class="demo1" @click="showInfo"><button @click.stop="showInfo">点我提示信息</button><!-- 修饰符可以连续写 先写的先起作用: 这样写就是先阻止默认行为后阻止冒泡--><!-- <a href="http://www.atguigu.com" @click.prevent.stop="showInfo">点我提示信息</a> --></div><!-- 事件只触发一次(常用) --><button @click.once="showInfo">点我提示信息</button><!-- 使用事件的捕获模式 --><div class="box1" @click.capture="showMsg(1)">div1<div class="box2" @click="showMsg(2)">div2</div></div><!-- 只有event.target是当前操作的元素时才触发事件; --><div class="demo1" @click.self="showInfo"><button @click="showInfo">点我提示信息</button></div></div>
</body><script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。new Vue({el: '#root',data: {name: '尚硅谷'},methods: {showInfo(e) {alert('同学你好!')// console.log(e.target)},showMsg(msg) {console.log(msg)}}})
</script></html>

1.1 prevent:阻止默认事件(常用)

html:

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

js:

运行效果:

a标签的默认有跳转到href的行为,我们把默认行为禁用后,就不会跳转页面

补充:

如果不使用Vue指令,那么怎么屏蔽事件的默认行为呢?


1.2 stop:阻止事件冒泡(常用)

html:

     <!-- 阻止事件冒泡(常用) --><div class="demo1" @click="showInfo"><button @click.stop="showInfo">点我提示信息</button><!-- 修饰符可以连续写 --><!-- <a href="http://www.atguigu.com" @click.prevent.stop="showInfo">点我提示信息</a> --></div>

js:

运行结果:

如果不组织事件冒泡:

如果不使用Vue指令,那么怎么阻止事件冒泡呢?


1.3 once:事件只触发一次(常用)

html:

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

js:

运行结果:


1.4 capture:使用事件的捕获模式

html:

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

js:

运行结果:

关闭事件捕获:


分析原因:


1.5 self:只有event.target是当前操作的元素时才触发事件

html:

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

js:

运行结果:

因为event.target不是当前操作的元素,所有没有触发事件,这个在一定程度上面也可以阻止冒泡

如果不加指令会怎么样?

发生了事件冒泡



Vue 事件处理 -- 事件修饰符(prevent、stop、capture、self、once)相关推荐

  1. Vue中事件修饰符与键盘事件

    目录 事件修饰符 prevent:阻止默认事件 stop:阻止事件冒泡 once:事件只触发一次 capture:使用事件的捕获模式 self:与当前事件一致时触发 passive:事件的默认行为立即 ...

  2. 027——VUE中事件修饰符:stop prevent self capture

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  3. Vue数据代理+事件处理+事件修饰符的作用+计算属性的使用,尚硅谷Vue系列教程学习笔记(2)

    尚硅谷Vue系列教程学习笔记(2) 参考课程:<尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通> 参考链接:https://www.bilibili.com/video/ ...

  4. 026——VUE中事件修饰符之使用$event与$prevent修饰符操作表单

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  5. 五、伊森商城 前端基础-Vue v-on 事件修饰符 按键修饰符 v-for v-if 和v-show v-else和v-else-if p24

    目录 1.v-on 2.事件修饰符 3.按键修饰符 3.1.组合按钮 4.v-for 5.v-if和v-show 6.v-else 和 v-else-if 6.1.v-if结合v-for来时用 1.v ...

  6. 用vue的事件修饰符阻止冒泡

    用mousemove事件举例 1.传统做法: 定义一个阻止冒泡的函数stop,形参为事件e,执行e.stopPropagation(), 在标签上添加v-on:mousemove="stop ...

  7. Vue事件修饰符(prevent,stop,once,capture,self)

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

  8. vue学习:事件传递(冒泡和捕获),事件委托,jquery中的事件委托,$event 获取元素,vue事件修饰符

    事件传递 ----冒泡和捕获 DOM事件标准定义了两种事件流,这两种事件流分别是捕获和冒泡. 和许多Web技 术一样,在它们成为标准之前,Netscape和微软各自不同地实现了它们.Netscape选 ...

  9. vue判断是否双击_vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作...

    Vue 事件处理方法 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. v-on:click 单击事件 + + - - v-on:dblclick 双击事件 ...

  10. Vue2.0学习笔记:Vue事件修饰符的使用

    事件处理 如果需要在内联语句处理器中访问原生DOM事件.可以使用特殊变量$event,把它传入到methods中的方法中. 在Vue中,事件修饰符处理了许多DOM事件的细节,让我们不再需要花大量的时间 ...

最新文章

  1. 在国内安装Pytorchy以及遇到的问题
  2. virtualBox中的ubuntu共享文件夹
  3. oracle 如何表分析,ORACLE的表分析策略
  4. 涨跌因子计算器下载哪里下载_微信爱情指数计算器整蛊app下载_爱情指数计算器整蛊测试下载...
  5. 数学建模学习笔记(十)——时间序列模型
  6. 初学编程,你必须要打牢的几根“支柱”,地基越稳,成就越高!
  7. C++工作笔记-Windows下查找窗口句柄并让其显示在桌面
  8. png免扣半透素材,让你轻松设计出漂亮的海报!
  9. es 安装 ik 分词器
  10. ubuntu网络正常连接但无法上网
  11. Delphi基础教程第一季
  12. html怎么设置文字居中对齐
  13. Python实现圣诞树、打包exe过程和遇到的问题
  14. 网页中LRC歌词同步显示
  15. html/css--flex布局
  16. 转贴:谁说我会画板?
  17. 工程监测多通道振弦模拟信号采集仪VTN的$字符串通讯协议
  18. 树莓派魔镜MagicMirror —— 8 MagicMirror基本模块设计
  19. 在VSCode中自定义文件类型和扩展名关联
  20. NISP和CISP中渗透测试的思路是什么?

热门文章

  1. 利用C++,设置输入某年某月某日,判断这一天是这一年的第几天。
  2. 计算机限制无线网络,无线网络连接受限制怎么办 无线网络连接受限解决方法【图文】...
  3. C# 解析种子文件(bt文件)
  4. sping循环依赖:but has eventually been wrapped. This means that said other beans do not use the final
  5. 威联通(NAS)搭建个人音乐中心
  6. 一个女留学生在美国的七年
  7. JAVA+=运算程序诡异事件
  8. SPKO的Laker分析(一)
  9. python变现实现新浪微博登陆
  10. 《笨办法学python》第39课—— 列表的操作