# 小程序事件

# 事件
  • 事件就是用户到界面(视图)的交互行为,移动端常见的交互行为(触屏,触摸移动,长按,键盘输入,多点触控,摇一摇,语音,各种状态事件,...., 重按)
# 事件绑定
在小程序中绑定事件使用 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: 动了的手指头的列表
}
# 事件分类
  • 事件分为冒泡事件和非冒泡事件
    1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
    2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。(例如:表单相关事件,加载相关事件)
# 交互事件
触摸 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 动画完成时触发

上次更新: 2019/4/23上午10:30:03