微信小程序开发事件:catch---或bind---,冒泡事件

微信开发中的绑定事件包含:bindtap,bindtouchstart等bind**事件和catchtap,catchtouchstart等catch**事件。


两者中只是bind和catch不同,而**包括tap,touchstart,touchend,touchcancel,touchmove,longtap事件。

bind系列事件绑定不会阻止冒泡事件向上冒泡,但是catch系列事件绑定可以阻止冒泡事件向上冒泡。


首先采用实例来解释一下什么是微信小程序中的冒泡事件:

代码如下:

微信小程序开发事件:catch---或bind---,冒泡事件_第1张图片微信小程序开发事件:catch---或bind---,冒泡事件_第2张图片

这里是三个组件嵌套的按钮事件,点击outter view,执行outtertap事件,

微信小程序开发事件:catch---或bind---,冒泡事件_第3张图片

点击middle view,执行outtertap事件和middletap事件,

微信小程序开发事件:catch---或bind---,冒泡事件_第4张图片

点击inner view,执行outtertap事件、middletap事件和innertap事件,

微信小程序开发事件:catch---或bind---,冒泡事件_第5张图片

即在点击内层的按钮时,在外层的事件也会触发执行,
解决这个问题可采用catchtap绑定事件,将代码改为一下即可:
微信小程序开发事件:catch---或bind---,冒泡事件_第6张图片

这时,无论点击哪一个按钮,它都只会执行一个自己的事件。


你可能感兴趣的:(微信小程序开发事件:catch---或bind---,冒泡事件)