溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序中currentTarget和target的區(qū)別有哪些

發(fā)布時間:2020-11-07 14:50:48 來源:億速云 閱讀:421 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)微信小程序中currentTarget和target的區(qū)別有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

前言

在小程序中,e.target與e.currentTarget是非常重要的,尤其是涉及到頁面?zhèn)髦禃r

currentTarget和target都是組件的一些屬性值集合,由“data-屬性名”定義的一些屬性值

currentTarget:事件觸發(fā)的當前事件(當前事件,可能是觸發(fā)事件的源組件,可能是觸發(fā)的事件組件(即觸發(fā)事件源組件的子元素),此時點擊子元素還是父元素,都是當前事件,應(yīng)用e.currentTarget
target:觸發(fā)事件的源組件(事件注冊/綁定所在組件)

舉個例子:

<view bindtap="parentClick" data-parent="父元素">
<view data-child="子元素">編輯</view> 
 </view>

然后點擊父元素中的子元素時:

parentClick事件中的currentTarget和target打印出來,如下:

parentClick:function(e){
console.log("點擊父元素")
console.log("target",e.target)//target:{child:"子元素"}
console.log("currentTarget",e.currentTarget)//target:{parent:"父元素"}
}

因為綁定在父元素上的parentClick事件,是由子元素觸發(fā)的,所以target的值就是子元素所包含的一些屬性值集合;currentTarget則是綁定事件的該組件(父元素)的屬性值集合。

給子元素綁定一個事件:childClick,打印出來的currentTarget和target就是一樣的。

<view bindtap="parentClick" data-parent="父元素">
<view bindtap="childClick" data-child="子元素">編輯</view> 
 </view>

然后點擊子元素事件:

childClick:function(e){
console.log("點擊父元素")
console.log("target",e.target)//target:{child:"子元素"}
console.log("currentTarget",e.currentTarget)//target:{child:"子元素"}
}

擴展

結(jié)合this來看:

  • this === e.currentTarget 總是為true
  • this === e.target 有可能不是true

看完上述內(nèi)容,你們對微信小程序中currentTarget和target的區(qū)別有哪些有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI