v-on:click.self.prevent 可简写为:@click.self.prevent,只会阻止对元素自身的点击?
v-on:click.prevent.self 可简写为:@click.prevent.self,会阻止所有的点击?
给a链接监听事件加@click.self.prevent

样式:父子关系为:div.grandfather(黄)>div.father(绿)>a链接>div.son(蓝)

1. 点击a链接,输出handleCatch()方法里面的,不弹aler框,
输出:
2. 点击div.son(蓝),也就是a的子类,输出handleCatch()方法里面的,弹aler框,
输出:
![]()
给a链接监听事件加@click.prevent.self

不管是点击a链接,还是点击div.son(蓝),都不弹aler框,
点击a链接,输出:
点击div.son(蓝),输出:
self和prevent的顺序是有影响的,self不受影响,只有prevent受影响
1. prevent在后边时,可以理解为“自己阻止” ,
也就是:点击被prevent修饰的节点时,会阻止默认链接,但点击子类冒泡上来的话就不会阻止了,
同样的,如果.self.prevent修饰在a链接的父类上,不会阻止子类的默认链接,
2. prevent在前面时,无论点击谁,都会阻止默认链接,
同样的,如果.prevent.self修饰在a链接的父类上,仍然会阻止子类的默认链接-->
本文探讨了Vue中的事件修饰符`v-on:click.self.prevent`,解析了`.self`和`.prevent`的顺序差异。`.self.prevent`只会阻止对元素自身的点击,而`.prevent.self`则会阻止所有点击。通过实例展示了在a链接上使用这两种修饰符时,如何控制点击事件的传播和默认行为。总结了当`.prevent`在前或在后,事件处理的不同效果。


点击
4112





