vue触发事件的五个关键字
v-on
vue中提供了v-on事件绑定
v-on:click='函数';
v-on可以使用@代替
vue 五个触发事件关键字
.stop 用于阻止冒泡
例如 div1中嵌套div2,且两个div都有点击事件,那么在点击div2时会触发div1的
点击事件.click.stop可以阻止所有冒泡
.prevent 用于阻止默认事件,点击a标签href可以打开相应的链接,那么给事件加
上此关键字,click.prevent
.capture 冒泡顺序
例如 div1中嵌套div2中嵌套div3
<div id="app" v-on:click="show">
1
<div id="app2" v-on:click.capture="show2">
2
<div id="app3" v-on:click="show3">
3
</div>
</div>
</div>
<script type="text/javascript">
var vm=new Vue({
el:"#app",
data:{
},
methods:{
show:function(){
console.log("这是app的方法")
},
show2:function(){
console.log("这是app2的方法")
},
show3:function(){
console.log("这是app3的方法")
}
}
})
</script>
此处的代码因为div2有capture关键字,所以此时冒泡的顺序发生了改变
正常情况下:
点击div3一层一层冒泡,先div3=》div2=》div1
使用了关键字:
点击div3时,先div2=》div3=》div1
1.先冒泡外层带有关键字的事件
2.外层执行结束之后,往里层执行事件
3.最后按照从里向外的事件开始执行
就是说只要存在一个capture关键字,就会影响整个嵌套的执行
例子
div1中嵌套div2中嵌套div3.capture中嵌套div4
此时点击div1
先执行带有capture的div3
然后执行div4
最后按照从里向外的顺序执行
顺序就是 div3=》div4=》div2=》div1
其他疑惑
此时嵌套为
div1中嵌套div2.capture中嵌套div3中嵌套div4
那么可以想一下点击最里层的div4会怎么触发呢
1.触发带有关键字的 div2
2.触发点击的div4
3.最后从里向外执行
那么顺序为 div2=》div4=》div3=》div1
.self关键字阻止冒泡或者当点击自身才触发
stop阻止除了自己以外所有的事件触发
self加给想要阻止冒泡的或想要去单独点击它才触发的对象上
.onec 只触发一次,再点击无效果
最新文章
- 转: Github访问慢解决办法
- Android 对话框用法
- Windows, Eclipse下开发Heritrix 3.1 (一)环境搭建
- 新发现。css3控制浏览器滚动条的样式
- 最小堆实现优先队列:Python实现
- Bash&#39;s Big Day
- Java多线程编程(四)—浅谈synchronized与lock
- 如何在IntelJ下用Maven创建一个Web项目
- PHP初入--表单元素
- Python-week1,第一周(基于Python3.0以上)
- HTTP的Referrer和Referrer Policy设置
- HQL之动态分区调整
- sed n/N使用说明
- 转载:基于Redis实现分布式锁
- ios笔试题(选择题)
- 数据结构之排序技术:快速排序、归并排序、堆排序(C++版)
- (转) HA的几种方案
- linux命令详解之(at)
- HTML 5中的新特性
- 树状数组【bzoj1782】: [Usaco2010 Feb]slowdown 慢慢游
热门文章
- .NET Core+WebApi+EF访问数据新增用户数据
- python(string 模块)
- Scrapy爬虫框架基本使用
- ubuntu16 安装redis
- 带";反悔";的贪心-超市
- 解决php获取不到Authorization问题
- 记一次面试过程中的Python编程题
- Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构
- PHP导出excel文件,第一步先实现PHP模板导出不带数据
- 微信小程序云开发|Error: ResourceNotFound.FunctionName, FunctionName 指定的资源不存在。 (41cd9de8-ff9b-4b1e-a65e-81ae9