微信小程序--事件对象

当组件绑定事件触发后,将传递一个事件对象到绑定的函数中
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 // 大写会转为小写
  }
})


猜你喜欢

转载自blog.csdn.net/Model_Vincent/article/details/80983745