vue学习(六) 事件修饰符 stop prevent capture self once
//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的更多相关文章
- 27.28. VUE学习之--事件修饰符之stop&capture&self&once实例详解
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue – 基础学习(4):事件修饰符
Vue – 基础学习(3):事件修饰符
- [vue]vue v-on事件绑定(原生修饰符+vue自带事件修饰符)
preventDefault阻止默认行为和stopPropagation终止传递 event.preventDefault() 链接本来点了可以跳转, 如果注册preventDefault事件,则点了 ...
- 33、vue中的事件修饰符.stop、.prevent、.self、.capture、.once
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue指令与事件修饰符
一.条件渲染指令 vue中提供了两个指令可以用于判断是否要显示元素,分别是v-if和v-show. 实例: <!DOCTYPE html> <html lang="en&q ...
- vue中的事件修饰符
vue提倡的是在方法中只有对数据的处理,所以提供了事件修饰符用于DOM的事件处理,常用的事件修饰符有以下几个: (1). stop:阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递) 点击内层div的 ...
- Vue指令之事件修饰符
事件修饰符: + .stop 阻止冒泡 + .prevent 阻止默认事件 + .capture 添加事件侦听器时使用事件捕获模式 + .self 只当事件在该元素本身(比如不是子元素)触发时触发回调 ...
- 怎样在 Vue 中使用 事件修饰符 ?
Vue 中可以通过 v-on 来绑定事件监听函数, 不过事件会有许多额外情况, 比如 是否阻止冒泡 / 是否阻止重载 / 是否限制点击次数 / 是否可以通过按键触发 等等. 这时就需要使用到 事件修饰 ...
- (二)咋使用VUE中的事件修饰符
1,stop修饰符:阻止事件冒泡 首先我们要明确H5的事件是从内向外进行冒泡的,写一个简单的DEMO 当我们点击按钮时,事件从内向外冒泡,依次触发绑定的事件,控制台信息如下 现在我们在click后面添 ...
随机推荐
- Python3-设计模式-迭代器模式
Python3中的迭代器 迭代器模式主要是访问集合元素的一中方式,迭代器不会把整个集合对象加载到内存,而是按照顺序将集合中的元素一个一个的进行迭代,这样每次迭代的时候只取少量的元素,比较省内存 注: ...
- java代理,静态代理、jdk代理、cglib代理、Aspectj
我实在接触spring的时候才接触到代理这个东西的,一直想整理一下笔记. 什么是代理模式:代理模式是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能.简单来说就是要创建一个新的对象,我 ...
- 为Linux主机安装图形化桌面环境
本文主要介绍在Linux实例中,centos 7 以及ubutun 14如何安装图形化桌面环境. CentOS 7 此处以安装MATE桌面环境为例,步骤如下. 说明:在安装重启后,如果卡在启动页面,需 ...
- ceph luminous版本的安装部署
1. 前期准备 本次安装环境为: ceph1(集群命令分发管控,提供磁盘服务集群) CentOs7.5 10.160.20.28 ceph2(提供磁盘服务集群) CentOs7.5 10. ...
- Python实用笔记 (23)面向对象高级编程——使用__slots__
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: class Student(object): pa ...
- Hystrix入门教程
Hystrix入门教程 一·什么是Hystrix?Hystrix有什么作用?使用Hystrix有哪些适用场景 Hystrix是springCloud的组件之一,Hystrix 可以让我们在分布式系统中 ...
- dart快速入门教程 (8)
9.dart中的库 9.1.自定义库 自定义库我们在前面已经使用过了,把某些功能抽取到一个文件,使用的时候通过import引入即可 9.2.系统内置库 以math库为例: import "d ...
- nginx 代理post请求做负载均衡
项目中遇到nginx代理post请求nodejs服务.但是一直404.发现好像是nginx重定向的时候将post请求变成了get请求.上配置: # 负载均衡服务器配置 upstream pdf_ups ...
- JavaScript基础-即时函数(Immediate Functions)(017)
1.即时函数的声明方法 即时函数(Immediate Functions)是一种特殊的JavaScript语法,可以使函数在定义后立即执行:(function () { alert('watch ...
- Java项目开启远程调试(tomcat、springboot)
当我们运行一个项目的时候,一般都是在本地进行debug.但是如果是一个分布式的微服务,这时候我们选择远程debug是我们开发的利器. 环境apache-tomcat-8.5.16 Linux 如何启用 ...