//html
<div id="app">
  <div @click="divHandler" style="height:150px,background-color:darkcyan">
    <input type="button" value="点击" @click="btnHandler">
  </div>   <a href="http://www.bilibili.com" @click="linkClick">跳转到bilibili</a>   <div @click.capture="divClick" style="hight:150px,background-color:grey">
    <input type="button" value="按一下" @click="buttonClick">
  </div>   <a href="http://weibo.com" @click.once="weibo">连接到微博</a>
</div>
//script
<script>
  var vm = new Vue({
    el:'app',
    data:{
      msg:'点击一下'
    },
    methods:{//methods中定义了当前vue实例中所有可用的方法
      divHandler:function(){
       console.log('触发了div的点击事件')
      },
      btnHandler(){
       console.log('触发了btn的点击事件')
      },
      linkClick(){
       console.log('触发了链接的点击事件')
      },
      divClick(){
       console.log('触发了div点击事件')
      },
      buttonClick(){
       console.log('触发了button点击事件')
      }
    }
  })
</script>

简介:

.stop 阻止冒泡

.prevent 阻止默认事件

.capture 添加事件监听器时使用事件捕获方式

.self 只当事件在该元素本身(比如不是子元素)触发时触发回调

.once 事件只触发一次

说明:

点击按钮,控制台会打印 触发了btn的点击事件 触发了div的点击事件 默认是冒泡机制,里边的btn被外边的div包裹着,点击里边的,事件会一层一层往外冒,先调用内层的click在调用外层的click。

如果想阻止冒泡,需要给按钮的click事件加上.stop  格式是  <input type="button" value="点击" @click.stop="btnHandler">,执行的效果就是 只会出发btn的点击事件不会触发外层div的点击事件

当我们点击跳转去bilibili的时候,控制台会打印 触发了链接的点击事件 页面跳转到B站  会跳转。如果我们不想让跳转,可以使用.prevent组织默认事件  格式是  <a href="http://www.bilibili.com" @click.prevent="linkClick"></a>

给外层div的click时间加上.capture  点击按钮的作用效果,就和冒泡相反了 先执行外层div的click事件,在执行内层button的click时间,控制台  触发了div点击事件  触发了button点击事件

如果仅仅想通过点击div来触发div的点击事件,需要给div的click加上.self  格式是<div @click.self="divClick"></div>  其他的不管是冒泡还是捕获 通通都不执行div的点击事件

给click加上once,该点击事件只会被触发一次,不会触发第二次

事件修饰符是可以串联用的@click.prevent.once

vue学习(六) 事件修饰符 stop prevent capture self once的更多相关文章

  1. 27.28. VUE学习之--事件修饰符之stop&capture&self&once实例详解

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

  2. Vue – 基础学习(4):事件修饰符

    Vue – 基础学习(3):事件修饰符

  3. [vue]vue v-on事件绑定(原生修饰符+vue自带事件修饰符)

    preventDefault阻止默认行为和stopPropagation终止传递 event.preventDefault() 链接本来点了可以跳转, 如果注册preventDefault事件,则点了 ...

  4. 33、vue中的事件修饰符.stop、.prevent、.self、.capture、.once

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

  5. vue指令与事件修饰符

    一.条件渲染指令 vue中提供了两个指令可以用于判断是否要显示元素,分别是v-if和v-show. 实例: <!DOCTYPE html> <html lang="en&q ...

  6. vue中的事件修饰符

    vue提倡的是在方法中只有对数据的处理,所以提供了事件修饰符用于DOM的事件处理,常用的事件修饰符有以下几个: (1). stop:阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递) 点击内层div的 ...

  7. Vue指令之事件修饰符

    事件修饰符: + .stop 阻止冒泡 + .prevent 阻止默认事件 + .capture 添加事件侦听器时使用事件捕获模式 + .self 只当事件在该元素本身(比如不是子元素)触发时触发回调 ...

  8. 怎样在 Vue 中使用 事件修饰符 ?

    Vue 中可以通过 v-on 来绑定事件监听函数, 不过事件会有许多额外情况, 比如 是否阻止冒泡 / 是否阻止重载 / 是否限制点击次数 / 是否可以通过按键触发 等等. 这时就需要使用到 事件修饰 ...

  9. (二)咋使用VUE中的事件修饰符

    1,stop修饰符:阻止事件冒泡 首先我们要明确H5的事件是从内向外进行冒泡的,写一个简单的DEMO 当我们点击按钮时,事件从内向外冒泡,依次触发绑定的事件,控制台信息如下 现在我们在click后面添 ...

随机推荐

  1. IOT设备SmartConfig实现

    一般情况下,IOT设备(针对wifi设备)在智能化过程中需要连接到家庭路由.但在此之前,需要将wifi信息(通常是ssid和password,即名字和密码)发给设备,这一步骤被称为配网.移动设备如An ...

  2. python黑帽子之tcp客户端

    在渗透测试过程中,我们经常会需要创建一个tcp客户端来连接服务,发送垃圾数据,进行模糊测试等任务,所以我们来用python创建一个简单的tcp客户端. import sockettarget_host ...

  3. vue-elemnt-admin源码学习

    vue-elemnt-admin源码学习 vue-element-admin是一个基于vue,element-ui的集成的管理后台.它的安装部分就不说了,按照官网的步骤一步步就可以执行了. https ...

  4. 关于 charset 的几种编码方式

    经常遇到charset=gb2312.charset=iso-8859-1.charset=utf-8这几种编码方式,它们有什么不同,看下面的图 编码方式 含义 charset=iso-8859-1 ...

  5. Pycharm连接MySQL后出现不出现数据库或表,出现其他文件的问题

    在使用pycharm连接MySQL,配置完成,测试连接通过之后,还是不能显示数据库中的表,出现了许多像armscii8_bin.armscii8_general_ci和ascii_bin等的文件. 解 ...

  6. JAVA基础-继承机制

    需要掌握的知识点: 包的使用 继承时,子类如何覆盖父类方法(重写和重载) 继承时,构造方法的执行过程 JVM中子类如何实例化(先实例化父,再实例化子) super和this关键字 final关键字 包 ...

  7. LeetCode 81,在不满足二分的数组内使用二分法 II

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第50篇文章,我们来聊聊LeetCode中的81题Search in Rotated Sorted ArrayII ...

  8. AspNetCore&Coding持续集成

    对于现有很多持续集成工具来讲,功能越来越高级,使用了 Coding 有大半年时间,越发觉好用,特别是没钱续费服务器时,找到了新的羊毛. 一.众多持续集成工具 现在可用的持续集成工具繁多,各大云服务商都 ...

  9. vue.js之常操作(实例)

    听说大家都开始用react.vue这些MVVM框架了,为了不落后,还是学学吧!(之前只对angular了解一点,时间一长,也忘得差不多了,所以学习vue相当于从小白开始) 从vue.js官网看一下,先 ...

  10. Mysql中Union和OR性能对比

    博客已搬家,更多内容查看https://liangyongrui.github.io/ Mysql中Union和OR性能对比 在leetcode上看到一篇文章,整理一下 参考:https://leet ...