事件绑定
事件是视图层到逻辑层的通讯方式,可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息,如id,dataset,touches。
小程序中绑定事件,通过bind关键字来实现。bindinput,bindtap(绑定点击事件),bindchange等。
1.事件的使用方式
通过bind+"事件名称"为组件绑定事件,如bindchange、bindtap等,当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。在大多数组件和自定义组件中,bind后也可以紧跟一个冒号,其含义不变,如:bind:tap。
一种是不带参数的函数传递
另一种是带参数的函数传递
2.事件分类
冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。
WXML的冒泡事件列表:
运行环境 | 渲染层 |
---|---|
touchstart | 手指触摸动作开始 |
touchmove | 手指触摸后移动 |
touchcancel | 手指触摸动作被打断,如来电提醒 |
touchend | 手指触摸动作结束 |
tap | 手指触摸后马上离开 |
longpress | 手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发 |
longtap | 手指触摸后,超过350ms再离开 |
transitionend | 会在 WXSS transition或wx.createAnimation 动画结束后触发 |
animationstart | 会在一个 WXSS animation 动画开始时触发 |
animationiteration | 会在一个 WXSS animation一次迭代结束时触发 |
animationend | 会在一个 WXSS animation 动画完成时触发 |
touchforcechange | 在支持 3D Touch 的iPhone设备,重按时会触发 |
除bind外,也可用catch来绑定事件。与bind不同&#x