v-on 事件修饰符
事件修饰符:
- .stop 阻止冒泡
- .prevent 阻止默认事件
- .capture 添加事件侦听器时使用事件捕获模式
- .self 只当该事件在该元素本身时(不是子元素)触发时才回调
- .once 事件只触发一次
一、.stop 修饰符,阻止时间冒泡:
1、未加.stop事件修饰符:
CSS部分:
<style>
.inner {
background-color: green;
height:100px;
padding:20px;
} .outer {
padding: 10px;
background-color: yellow;
}
</style>
HTML部分:
<div id="app">
<div class="outer" @click="outerDivHandler">
<div class="inner" @click="innerDivHandler">
<button @click="btnHandler">点我</button>
</div>
</div>
</div>
JS部分:
var app = new Vue({
el: "#app",
data() {
},
methods: {
btnHandler() {
console.log("btnHandler事件触发了");
},
innerDivHandler() {
console.log("innerDivHandler事件触发了");
},
outerDivHandler() {
console.log("outerDivHandler事件触发了");
},
},
});
点击按钮时,输出结果,点击按钮时分别触发了父级的点击事件。

2、添加.top属性修饰符后
<div id="app">
<div class="outer" @click="outerDivHandler">
<!-- outerDiv -->
<div class="inner" @click="innerDivHandler">
<!-- button的点击事件添加了属性修饰符【.top】 -->
<button @click.stop="btnHandler">点我</button>
</div>
</div>
</div>
再点击button,结果,只触发了button上的事件,父级元素绑定的点击事件并没有触发。

二、.prevent修饰符,阻止默认事件
阻止元素的默认事件发生。
<a href="http://www.baidu.com" @click="aHandler">百度一下</a>
在浏览器上点击 百度一下 会自动跳转到百度页面,当然aHandler事件也会触发,那么怎么阻止a跳转到百度页面呢?在@click后面加上.prevent属性修饰符即可
<a href="http://www.baidu.com" @click.prevent="aHandler">百度一下</a>
再点击 百度一下 发现只执行了aHandler事件,并未跳转。

三、.capture 添加事件侦听器时使用事件捕获模式
1、未添加.capture修饰符:
<div class="inner" @click="innerDivHandler">
<button @click="btnHandler">点我</button>
</div>
结果:

2、添加了.capture后
<div class="inner" @click.capture="innerDivHandler">
<button @click="btnHandler">点我</button>
</div>
结果:

四、.self 修饰符,只有事件发生在自己身上时才触发
<div class="inner" @click.self="innerDivHandler">
<button @click="aHandler">点我</button>
</div>
点击按钮,只触发了aHandler事件。

点击绿色区域,只触发了div绑定的事件。

注意:.self只会阻止自己身上的冒泡事件发生,如果上述div还有兄弟元素也绑定了事件,未加.self修饰符,按钮也未加.stop修饰符,那么点击按钮,依然会触发其兄弟元素的事件。
五、.once 事件只触发一次,第二次点击就没得效果了。
<button @click.once="btnHandler">点我</button>
v-on 事件修饰符的更多相关文章
- Vue学习笔记五:事件修饰符
目录 什么是事件修饰符 没有事件修饰符的问题 HTML 运行 使用事件修饰符 .stop阻止冒泡 .prevent 阻止默认事件 .capture 添加事件侦听器时使用事件捕获模式 .self 只当事 ...
- 从零开始学 Web 之 Vue.js(一)Vue.js概述,基本结构,指令,事件修饰符,样式
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- vue第八单元(组件通信 子父,父子组件通信 自定义事件 事件修饰符 v-model props验证 )
第八单元(组件通信 子父,父子组件通信 自定义事件 事件修饰符 v-model props验证 ) #课程目标 掌握使用props让父组件给子组件传参(重点) 掌握props属性的使用以及prop验证 ...
- VueJS 事件修饰符
事件修饰符 在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation()是非常常见的需求.尽管我们可以在 methods 中轻松实现这点,但更 ...
- Vue.js-03:第三章 - 事件修饰符的使用
一.前言 熟悉了 Vue 的指令系统后,在实际开发中,不可避免的会使用到对于事件的操作,如何处理 DOM 事件流,成为我们必须要掌握的技能.不同于传统的前端开发,在 Vue 中给我们提供了事件修饰符这 ...
- vue_事件绑定 v-on _事件修饰符
事件绑定 v-on 传参的同时,接收事件对象 <button @click="test('111', $evnt)">哈哈</button> 事件修饰符 阻 ...
- [vue]vue v-on事件绑定(原生修饰符+vue自带事件修饰符)
preventDefault阻止默认行为和stopPropagation终止传递 event.preventDefault() 链接本来点了可以跳转, 如果注册preventDefault事件,则点了 ...
- Vue2.0学习笔记:Vue事件修饰符的使用
事件处理 如果需要在内联语句处理器中访问原生DOM事件.可以使用特殊变量$event,把它传入到methods中的方法中. 在Vue中,事件修饰符处理了许多DOM事件的细节,让我们不再需要花大量的时间 ...
- 026——VUE中事件修饰符之使用$event与$prevent修饰符操作表单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- UVALive - 6837 Kruskal+一点性质(暴力枚举)
ICPC (Isles of Coral Park City) consist of several beautiful islands. The citizens requested constru ...
- centos6.4安装使用wine 持续更新中
首先,从wine的官网下载页面http://www.winehq.org/download/可以了解到centos安装wine需要EPEL软件仓库.那么首先安装EPEL软件仓库,从http://mir ...
- 微服务之配置中心ConfigKeeper
在微服务架构中,配置中心是必不可少的基础服务.ConfigKeeper已开源,本文将深度分析配置中心的核心内容,错过「Spring Cloud中国社区北京沙龙-2018.10.28 」的同学将从本篇文 ...
- MySQL->AUTO_INCREMENT[20180516]
MySQL表格中自增长主键AUTO_INCREMENT使用,实现序列的最简单的方式 创建一个AUTO_INCREMENT自增的表 mysql> create table seq_test( ...
- vue-cli3 创建选项选择
1.创建新项目: vue create hello-world 2.选择配置 3.自定义选择配置,需要什么就选什么 4. 是否使用带历史纪录的路由,这里一般是Y 5.预编译器选择什么 6.eslint ...
- php composer 实现类的自动加载
我们在开发项目中会经常用到第三方的类库插件,但是如果每次需要使用的时候都会在代码的某一处去引入,然后在实例化,这样做感觉很不方便,那么怎么实现自动加载呢,下面简单介绍使用composer实现自动加载: ...
- 20155220 2016-2017-2 《Java程序设计》第八周学习总结
20155220 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 第14章 NIO与NIO2 NIO简介 NIO使用频道来衔接数据结点,在处理数据时,NIO可 ...
- 20155223 2006-2007-2 《Java程序设计》第一周学习总结
20155223 2006-2007-2 <Java程序设计>第一周学习总结 学习内容 提问 第三章:Java没有能够计算开根号的运算符,我遇到开根运算该怎么办? 第四章:Java有没有比 ...
- 20155302 2016-2017-2 《Java程序设计》第4周总结
20155302 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 有关类的继承的理解:类实现继承的格式:class 子类名 extends 父类名 类的继承有 ...
- 20155325 2016-2017-2 《Java程序设计》第2周学习总结
教材学习内容总结 上节课讲了些思维方法:git,vim的使用技巧,推荐了picpick截图软件. 第三章书本上涵盖了基本语法内容 由于在语法方面java和c有相似之处,所以我重点关注不同之处和易忽略之 ...