域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)
在小程序中,e.target與e.currentTarget是非常重要的,尤其是涉及到頁(yè)面?zhèn)髦禃r(shí)
currentTarget和target都是組件的一些屬性值集合,由“data-屬性名”定義的一些屬性值
currentTarget:事件觸發(fā)的當(dāng)前事件(當(dāng)前事件,可能是觸發(fā)事件的源組件,可能是觸發(fā)的事件組件(即觸發(fā)事件源組件的子元素),此時(shí)點(diǎn)擊子元素還是父元素,都是當(dāng)前事件,應(yīng)用e.currentTarget
target:觸發(fā)事件的源組件(事件注冊(cè)/綁定所在組件)
舉個(gè)例子:
編輯
然后點(diǎn)擊父元素中的子元素時(shí):
parentClick事件中的currentTarget和target打印出來(lái),如下:
parentClick:function(e){
console.log("點(diǎn)擊父元素")
console.log("target",e.target)//target:{child:"子元素"}
console.log("currentTarget",e.currentTarget)//target:{parent:"父元素"}
}
因?yàn)榻壎ㄔ诟冈厣系膒arentClick事件,是由子元素觸發(fā)的,所以target的值就是子元素所包含的一些屬性值集合;currentTarget則是綁定事件的該組件(父元素)的屬性值集合。
給子元素綁定一個(gè)事件:childClick,打印出來(lái)的currentTarget和target就是一樣的。
編輯
然后點(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來(lái)看:
this === e.currentTarget 總是為true
this === e.target 有可能不是true
文章來(lái)源:田珊珊個(gè)人博客
來(lái)源地址:http://www.tianshan277.com/824.html
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!