当组件绑定事件触发后,将传递一个事件对象到绑定的函数中
function(event){
}
其中event事件对象携带的参数有
属性 | 类型 | 说明 |
---|---|---|
type | String | 事件类型 |
timeStamp | Integer | 事件生成时的时间戳 |
target | Object | 触发事件的组件的一些属性值集合 |
currentTarget | Object | 当前组件的一些属性值集合 |
事件对象又分为Target和currentTarget:
属性 | 类型 | 说明 |
---|---|---|
id | String | 事件源组件的id |
tagName | String | 当前组件的类型 |
dataset | Object | 事件源组件上由data- 开头的自定义属性组成的集合 |
<view id="outer" bind:touchstart="handleTap1" capture-catch:touchstart="handleTap2">
outer view
<view id="inner" bind:touchstart="handleTap3" capture-bind:touchstart="handleTap4">
inner view
</view>
</view>
点击 inner view 时,handleTap3
收到的事件对象 target 和 currentTarget 都是 inner,而 handleTap2
收到的事件对象 target 就是 inner,currentTarget 就是 outer。(即 当组件可冒泡时,父级对象被动触发时,父级事件对象的Target就是子级,currentTarget是子级。)
其中dataset是组件中以data-
开头,多个单词由连字符-
链接的属性
<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
js:
Page({
bindViewTap:function(event){
event.currentTarget.dataset.alphaBeta === 1 // - 会转为驼峰写法
event.currentTarget.dataset.alphabeta === 2 // 大写会转为小写
}
})