VUE 点击事件(父子层级元素点击时踩坑记录)

Posted 咩咩阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE 点击事件(父子层级元素点击时踩坑记录)相关的知识,希望对你有一定的参考价值。

<ul>
	<li @click="fatherClick">
		<div @click.stop="childClick">
		</div>
	</li>
</ul>

 

var vm_target = new Vue({
                el: ‘#vm_target‘,
                data: {

                },
                methods:{
                	/**父元素点击事件**/
                	fatherClick:function(event){
                		var el1 = event.currentTarget;
                                var el2 = event.target;
                	},
              childClick:function(event){
                  
              } }, created:function(){ } });

 在JS中,event.currentTarget获取到的是click事件绑定的DOM对象,event.target获取到的为当前所点击的DOM对象。

 

若绑定了一个父级元素后,点击子元素时,会触发父元素的点击事件,若需要点击子元素时不触发父元素事件,有两种方法:

1、在父元素中判断event.currentTarget == event.target是否为true

editTarget:function(event){
       var el1 = event.currentTarget;
       var el2 = event.target;
       if(el1 == el2){
          //do something
       }   
}

 2、在子元素中,绑定一个阻止冒泡的点击事件 @click.stop

 

以上是关于VUE 点击事件(父子层级元素点击时踩坑记录)的主要内容,如果未能解决你的问题,请参考以下文章

vue 子组件绑定事件无效

paramiko封装成文件时踩坑

vue_router添加点击事件

vue 组件传值踩坑日记 2

vue 的点击事件获取当前点击的元素方法

vue中的点击事件