官方文档:
1、 事件时视图层到逻辑层的通讯方式
2、事件将用户的行为反馈到逻辑层进行处理
3、事件对象可以携带额外信息,比如:id,dataset
事件的分类
1、冒泡事件:一个组件上的事件被触发,该事件会向组件的父节点传递
2、非冒泡事件,该事件不会向父节点传递
小程序中的冒泡事件:
类型 | 触发条件 |
touchstart | 手指触摸动作开始 |
touchmove | 手指触摸后移动 |
touchcancel | 手指触摸动作被打断,如来电提醒,弹窗 |
touchend | 手指触摸动作结束 |
tap | 手指触摸后马上离开 |
longpress | 手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发 |
longtap | 手指触摸后,超过350ms再离开(推荐使用longpress事件代替) |
transitionend | 会在 WXSS transition 或 wx.createAnimation 动画结束后触发 |
animationstart | 会在一个 WXSS animation 动画开始时触发 |
animationiteration | 会在一个 WXSS animation 一次迭代结束时触发 |
animationend | 会在一个 WXSS animation 动画完成时触发 |
touchforcechange | 在支持 3D Touch 的 iPhone 设备,重按时会触发 |
事件的绑定和冒泡
以bind或者catch开头,加上事件的类型,如:
<view bindtap="test"></view>
bind绑定事件不会阻止冒泡事件向上冒泡,catch绑定事件能阻止冒泡事件向上冒泡。
事件对象
属性 | 类型 | 说明 |
type | String | 事件类型 |
timeStamp | Integer | 出发事件的时间戳 |
target | Object | 触发事件组件的一些属性值集合 |
currentTarget | Object | 当前组件的一些属性值集合 |
mark | Object | 事件标记数据 |
自定义事件对象属性列表
detai : 组件额外信息
target :触发事件的源组件
dataset :事件源组件上由data-开头自定义的属性值
currentTarget 事件出发的当前组件