微信小程序事件系统
2022-02-09 17:25:19 23 举报
AI智能生成
微信小程序事件系统
作者其他创作
大纲/内容
绑定方式
普通事件绑定
bindtap="handleTap"
bindtap="{{ handlerName }}"
绑定并阻止事件冒泡catch
除 bind 外,也可以用 catch 来绑定事件。与 bind 不同, catch 会阻止事件向上冒泡。
互斥事件绑定mut-bind
一个 mut-bind 触发后,如果事件冒泡到其他节点上,
其他节点上的 mut-bind 绑定函数不会被触发,
但 bind 绑定函数和 catch 绑定函数依旧会被触发。
其他节点上的 mut-bind 绑定函数不会被触发,
但 bind 绑定函数和 catch 绑定函数依旧会被触发。
换而言之,所有 mut-bind 是“互斥”的,
只会有其中一个绑定函数被触发。
同时,它完全不影响 bind 和 catch 的绑定效果。
只会有其中一个绑定函数被触发。
同时,它完全不影响 bind 和 catch 的绑定效果。
事件对象
BaseEvent 基础事件对象属性列表
type事件类型
timestamp事件生成时的时间戳
target触发事件的一些属性值集合
currentTarget当前组件的一些属性值集合
mark事件标记数据
CustomEvent 自定义事件对象属性列表(继承 BaseEvent)
detail额外的信息
TouchEvent 触摸事件对象属性列表(继承 BaseEvent)
touches触摸事件,当前停留在屏幕中的触摸点信息的数组
changeTouches触摸事件,当前变化的触摸点信息的数组
WXS响应事件
什么是事件
事件是视图层到逻辑层的通讯方式
事件可以将用户的行为反馈到逻辑层进行处理
事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数
事件对象可以携带额外信息,如id,dataset,touches
事件的使用方式
在组件中绑定一个事件处理函数
在相应的Page定义中写上相应的事件处理函数,参数是event。
使用WXS函数响应事件
在组件中绑定和注册事件处理的WXS函数。
WXS函数接受2个参数,第一个是event,在原有的event的基础上加了event.instance对象,第二个参数是ownerInstance,和event.instance一样是一个ComponentDescriptor对象。
事件分类
冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递
touchstart
touchmove
touchcancel
touchend
tap:手指触摸后马上离开
longpress
longtap
transitionend
animationstart
animationiteration
animationend
touchforcechange
非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递
0 条评论
下一页
为你推荐
查看更多