e.target
拿的是點選的對象的屬性
如果是
data-
放到外層了,點選裡面的元素是拿不到屬性值的
而用
e.currentTarget
則是拿
bintap/catchtap
所在的對象的屬性~,點選裡面的元素一樣能拿到屬性值
<view class='a-child' data-tid='{{child.ID}}' bindtap='selectChild'>
<image class='avatar' src='../../images/localImages/default_user.png'></image>
<view class='child-mid'>
<view class='mid-top child-name'>{{child.STUDENTNAME}}</view>
示例中 要拿 tid 要如下:
selectChild: function(e) {
//擷取ID
var tid = e.currentTarget.dataset.tid
console.log('tid: ' + tid)
},
而如果寫成
你點選
image
之類的子元素拿到的是
undefined
,而很多時候子元素基本都占滿了父類
view
,是以就會出現
undefined
的情況
當然,你也可以每一層元素都加
data-tid
屬性~~~這樣就能用
e.target.dataset.tid
來擷取值喽
開發中遇到的,記一下