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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM