微信小程序 bindtap 和 catchtap 的区别
微信小程序中两种点击事件的事件冒泡处理差异
问题
微信小程序中 bindtap 和 catchtap 有什么区别?
解答
两者都是点击事件,主要区别在于事件冒泡的处理方式:
bindtap - 不会阻止事件冒泡,点击事件会向父元素传递
<view bindtap="parentTap">
<view bindtap="childTap">点击我</view>
</view>
点击子元素时,会依次触发 childTap 和 parentTap。
catchtap - 阻止事件冒泡,点击事件不会向父元素传递
<view bindtap="parentTap">
<view catchtap="childTap">点击我</view>
</view>
点击子元素时,只会触发 childTap,不会触发 parentTap。
关键点
- 两者都是点击事件处理函数
bindtap允许事件冒泡,会触发父元素的点击事件catchtap阻止事件冒泡,只触发当前元素的点击事件- 根据业务需求选择:需要冒泡用
bind,需要阻止冒泡用catch
目录