微信小程序:子父视图事件同时响应,视图嵌套点击事件冲突

本文介绍了在微信小程序中遇到子父视图事件同时响应的问题,当子视图内的按钮点击事件与父视图事件冲突时,如何通过修改子视图的事件绑定方式,避免事件冒泡,确保点击按钮只触发子视图的事件,而点击父视图则触发父视图的事件。

举例说明

 

<view class='parent'>
  <view class='child'></view>
</view>

说明:

child位置或里面如有一个按钮, 然后此时点击parent触发的事件与该按钮触发的事件并不相同, 若child设置的点击为bindtap, 则会触发parent的效果, 此时应将childd的bindtap方法换为catchtap方法, 则不会令点击事件冒泡, 导致上层容器的点击事件也触发, 但要做到点击按钮只触发child按钮而不触发parent的方法, 或者点击parent触发parent的方法而不触发按钮的方法, 则需要在在按钮位置添加如下属性:

hover-stop-propagation='true'

wxml具体样式

 

<view wx:for="{{kehuList}}" wx:key="key" data-index='{{index}}' bindtap='bindButtonTap'>
  <view data-index='{{index}}' catchtap="delButtonTap" hover-stop-propagation="true">
    <image src="../image/listDel.png" wx:if="{{item == 1}}"></image>
  </view>
</view>

关键方法

子视图内将:bindtap 更换为 catchtap, 并添加 hover-stop-propagation='true' 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢听风的人

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值