<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
原文地址:https://www.cnblogs.com/liangjing-yy/p/9013061.html
时间: 2024-10-04 17:04:41