微信小程序——e.target與e.currentTarget的區別


在小程序的點擊事件中,我們經常使用這兩個屬性來傳參,看起來效果一樣,查了官方文檔如下:

target:事件源組件對象

currentTarget:當前組件對象

 

什么意思?我剛開始就有點不懂,那就直接上代碼:

<view id="outter" bindtap="tap1"> outer view <view id="middle" bindtap="tap2"> middle view <view id="inner" bindtap="tap3"> inner view </view>
   </view>
</view> tap1: function (e) { console.log(1, e) }, tap2: function (e) { console.log(2, e) }, tap3: function (e) { console.log(3, e) },

結果如下:

點擊子元素inner,但由於事件冒泡父元素middle和outter都觸發,從上圖中我們可以看出區別:

父元素middle和outter,target的id都是等於inner(子元素的id);

middle的currentTarget的id是middle,outter的currentTarget的id是outter;

 

 

 

總結:

target:事件源組件對象(事件冒泡源頭)

currentTarget:當前組件對象(就是當前對象)


免責聲明!

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



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