WeChatアプレットイベントバインディング
1.イベントタイプ(一般的に使用されます)
タップ:イベントをクリックします。
longtap:長押しイベント。
タッチスタート:タッチスタート;
タッチエンド:タッチエンド;
touchcansce:タッチをキャンセルします。
2.イベントバインディングタイプ
バインディングバインディング;
キャッチバインディング;(イベントバブリングを防ぐことができます)
例:
page.wxml中
<view id="tapTest" data-hi="Weixin" bindtap="tapName">点击</view>
page.js
Page({
tapName: function(event) {
console.log(event)
}
})
スプールデータ
{
"type":"tap",
"timeStamp":895,
"target": {
"id": "tapTest",
"dataset": {
"hi":"Weixin"
}
},
"currentTarget": {
"id": "tapTest",
"dataset": {
"hi":"Weixin"
}
},
"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
}]
}
その中で、私たちはtargetとcurrentTargetの違いを最も懸念しています
target:触发事件的元素。
currentTarget:事件绑定的元素。
currentTarget是我们绑定了的组件,target是发生事件的组件;
データセットの使用
currentTarget里面的 dataset是没有数据的在组件节点中可以附加一些自定义数据。
这样,在事件中可以获取这些自定义的节点数据,用于事件的逻辑处理。