<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
