# 小程序事件
# 事件
- 事件就是用户到界面(视图)的交互行为,移动端常见的交互行为(触屏,触摸移动,长按,键盘输入,多点触控,摇一摇,语音,各种状态事件,...., 重按)
# 事件绑定
在小程序中绑定事件使用 bind不会阻止冒泡, catch阻止冒泡 capture-bind使用捕获 capture-catch
两种写法
bind:tap bindtap
catch:tap catchtap
例如: <view bindtap=”eventCallback”>点我</view> 当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。在事件处理函数中会得到事件对象event
Page(
eventCallback (event) {
Console.log(event)
}
)
Event对象
{
//基础属性
Type: 事件类型,
timeStamp: 事件生成时的时间戳
Target: {
Id: ,事件源组件的id
tagName: , 当前组件的类型
Dataset: 事件源组件上由data-开头的自定义属性组成的集合 (可用作事件传参)
} 触发事件的组件的一些属性值集合
currentTarget: 当前组件的一些属性值集合,
detail: 额外信息 {x, y} 触摸点的位置
//触控信息
Touches: 手指头列表
changenTouches: 动了的手指头的列表
}
# 事件分类
- 事件分为冒泡事件和非冒泡事件
- 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
- 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。(例如:表单相关事件,加载相关事件)
# 交互事件
触摸 touchstart
移动 touchmove
打断 touchcancel
离开 touchend
轻触 tap
长按(超过350毫秒) longtab longpress
重按(3D Touch设备) touchforcechange
# 监听事件
transitionend 会在 WXSS transition 或 wx.createAnimation 动画结束后触发
animationstart 会在一个 WXSS animation 动画开始时触发
animationiteration 会在一个 WXSS animation 一次迭代结束时触发
animationend 会在一个 WXSS animation 动画完成时触发