微信小程序中target和currentTarget的區(qū)別小結(jié)
前言
在小程序中,e.target與e.currentTarget是非常重要的,尤其是涉及到頁面?zhèn)髦禃r
currentTarget和target都是組件的一些屬性值集合,由“data-屬性名”定義的一些屬性值
currentTarget:事件觸發(fā)的當(dāng)前事件(當(dāng)前事件,可能是觸發(fā)事件的源組件,可能是觸發(fā)的事件組件(即觸發(fā)事件源組件的子元素),此時點(diǎn)擊子元素還是父元素,都是當(dāng)前事件,應(yīng)用e.currentTarget
target:觸發(fā)事件的源組件(事件注冊/綁定所在組件)
舉個例子:
<view bindtap="parentClick" data-parent="父元素"> <view data-child="子元素">編輯</view> </view>
然后點(diǎn)擊父元素中的子元素時:
parentClick事件中的currentTarget和target打印出來,如下:
parentClick:function(e){
console.log("點(diǎn)擊父元素")
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>
然后點(diǎn)擊子元素事件:
childClick:function(e){
console.log("點(diǎn)擊父元素")
console.log("target",e.target)//target:{child:"子元素"}
console.log("currentTarget",e.currentTarget)//target:{child:"子元素"}
}
擴(kuò)展
結(jié)合this來看:
- this === e.currentTarget 總是為true
- this === e.target 有可能不是true
到此這篇關(guān)于微信小程序中target和currentTarget區(qū)別的文章就介紹到這了,更多相關(guān)微信小程序target和currentTarget區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript數(shù)據(jù)推送Comet技術(shù)詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript數(shù)據(jù)推送Comet技術(shù),感興趣的小伙伴們可以參考一下2016-04-04
人人網(wǎng)javascript面試題 可以提前實現(xiàn)下
JavaScript面試題要求:以下題目必須從一至四題中,選出三道題,使用原生代碼實現(xiàn),不可使用任何框架,第五題為選作題2012-01-01
淺談對于“不用setInterval,用setTimeout”的理解
這篇文章主要介紹了淺談對于“不用setInterval,用setTimeout”的理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
JS庫之Particles.js中文開發(fā)手冊及參數(shù)詳解
因為自己需要做產(chǎn)品,所以一個好的UI界面也是很重要的,發(fā)現(xiàn)這種散射的原子顆粒特效還不錯。今天腳本之家小編把Particles.js中文開發(fā)手冊及particles.js參數(shù)分享給大家,需要的朋友參考下吧2017-09-09

