VUE-事件修饰符

事件修饰符

 

事件修饰符
.stop 阻止冒泡
.prevent 阻止默认行为,针对<a></a>链接而言
.capture 实现捕获触发事件的机制
.self 实现只有点击当前元素时候,才会触发事件处理函数
.once 只触发一次事件处理函数

1、dom元素的结构如下,点击div3输出3;点击div2输出2;点击div1输出1。

冒泡和捕获的过程如下所示:

VUE-事件修饰符

2、.stop阻止冒泡事件

 给div1添加stop事件,输出结果展示:

点击对象 添加事件 输出结果
div3   3
div2   2
3
div1 @click.stop 1

给div2添加stop事件,输出结果展示:

点击对象 添加事件 输出结果
div3   3
div2 @click.stop 2
div1   1
2

给div3添加stop事件,输出结果展示:

点击对象 添加事件 输出结果
div3 @click.stop 3
div2   2
3
div1   1
2
3

3、.capture实现捕获触发事件的机制

 给div1添加capture事件,输出结果展示:

点击对象 添加事件 输出结果
div3   3
div2   2
3
div1 @click.capture 1
2
3

 给div2添加capture事件,输出结果展示:

点击对象 添加事件 输出结果
div3   3
div2 @click.capture 2
3
div1   2
1
3

 给div3添加capture事件,输出结果展示:

点击对象 添加事件 输出结果
div3 @click.capture 3
div2   3
2
div1   3
1
2

4、.stop和.self的不同:

.self只有点击当前元素时候,才会触发事件处理函数,不点击则不会触发事件,直接跳过元素。

 给div2添加stop事件,输出结果展示:

点击对象 添加事件 输出结果
div3   3
div2 @click.stop 2
div1   1
2

 给div2添加self事件,输出结果展示:

点击对象 添加事件 输出结果
div3   3
div2 @click.self 2
3
div1   1
3