bindtap的基礎用法是
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
Page({
tapName: function(event) {
console.log(event)
}
})
控制太輸出:
{
"type":"tap",
"timeStamp":895,
"target": {
"id": "tapTest",
"dataset": {
"hi":"WeChat"
}
},
"currentTarget": {
"id": "tapTest",
"dataset": {
"hi":"WeChat"
}
},
"detail": {
"x":53,
"y":14
},
"touches":[{
"identifier":0,
"pageX":53,
"pageY":14,
"clientX":53,
"clientY":14
}],
"changedTouches":[{
"identifier":0,
"pageX":53,
"pageY":14,
"clientX":53,
"clientY":14
}]
}
以上是微信開發文檔中的例子。
所以到取到data-hi中的數據應該是
var hi = event.target.dataset.hi;
這裏要注意的是data-xxx中的xxx需要小寫,否則獲取不到。
使用for循環的時候,這種方法是拿不到數據的。
<view id="tapTest" data-hi="{{item.hi}}" bindtap="tapName" wx:for="{{list}}" wx:item="{{item}}"> Click me! </view>
var hi = event.currentTarget.dataset.hi;
需要使用currentTarget進行獲取。