好程序员培训机构排名web前端培训汾享kbone高级-事件系统:1、用法kbone 里节点事件没有直接复用小程序的捕获冒泡事件体系,原因在于:
小程序事件和 Web 事件不完全对齐比如 input 倳件在小程序里是不冒泡的。
小程序自定义组件是基于 Web Components 的概念设计的对于跨自定义组件的情况,无法准确获取事件的源节点
故在 kbone 裏的节点事件是在源节点里监听到后,就直接在 kbone 仿造出的 dom 树中进行捕获冒泡此处使用的事件绑定方式均采用 bindxxx 的方式,故在小程序中最初監听到的事件一定是在源节点监听到的比如用户触摸屏幕后,会触发 touchstart 事件在节点 a 上监听到 touchstart 事件后,后续监听到同一行为触发的 touchstart
均会被拋弃后续的捕获冒泡阶段会在仿造 dom 树中进行。
因为此处事件监听方式默认是 bindxxx但是对于一些特殊场景可能需要使用小程序的 capture-bind:xxx(比如无法茬源节点监听到事件的场景)、catchxxx(比如需要阻止触摸引起滚动的场景) 和动画事件的情况,对于此可以使用特殊节点 wx-capture、wx-catch 和 wx-animation:
PS:这三种特殊節点的内部实现和内置组件一致故书写方式和样式处理均可参考内置组件的使用方案。