微信小程序中的事件分为冒泡事件和非冒泡事件:
气泡事件:当组件上的事件被触发时,该事件将被传递到父节点。
非冒泡事件:当组件上的事件被触发时,该事件不会被传输到父节点。
WXML的气泡事件列表:
键入触发条件最低版本touchstart手指触摸动作开始触摸移动手指触摸然后移动touchcancel手指触摸动作被中断,如来电提醒,弹出窗口touchend手指触摸动作结束,轻击手指触摸并立即离开longpress,超过350ms后离开,如果指定了事件回调功能并触发了此事件,则不会触发轻击事件。1.5.0长TAP手指触摸后,离开超过350ms(建议改为longpress事件)后,transitionend将在WXSS过渡或wx.createAnimation动画结束后触发animationstart,在WXSS动画开始时触发animation animation On,在WXSS动画迭代结束时触发animationend,在WXSS动画结束时触发touchforcechange。1.9.90重复时会触发。注意:除了上表之外的其他组件的自定义事件都是非冒泡事件,没有特殊声明,比如表单的提交事件、输入的输入事件、滚动视图的滚动事件(详见各组件)
事件绑定
从bind或catch开始,然后跟随事件类型,如bindtap、catchtouchstart。由于基本库版本为1.5.0,因此在非本机组件中,bind和catch后面可以跟一个具有相同含义的冒号,例如bind:tap和catch:touchstart。
事件冒泡的条件:父元素绑定到事件种类相同的子元素,子元素的绑定方式为bind(catch的开头会防止事件冒泡),代码如下:
视图id='outter' bindtap='tap1 '外部视图视图id='middle' bindtap='tap2 '中间视图视图id='inner' bindtap='tap3 '内部视图/视图/视图/视图/Viewtap1:函数(e) {console.log (1,e)},tap2:函数(e) {console.log (3,e)},单击id为inner的元素,然后
将内部的bindtap更改为catchtap将防止事件冒泡
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。