获取用户信息的button上的bindgetuserinfo事件可以阻止冒泡吗?
发布于 6 年前 作者 cqian 4465 次浏览 来自 官方Issues

<view bindtap=“getProInfo”>

                <button    open-type=“getUserInfo” bindgetuserinfo=“getUserInfo”>获取用户信息</button>

</view>

点击获取用户信息这个按钮,事件会冒泡,父级view的事件也会触发,有什么方法可以阻止这个事件的冒泡吗??

一般用的  catch 对这个按钮的事件是无效的    ,还是会冒泡。

2 回复

getProInfo的逻辑写在getUserInfo函数里呢,满足条件才继续getProInfo的逻辑,或者父类事件通过条件来设置,如bindtap="{{ trueOrfalse ? ‘getProInfo’ : ‘’}}"

不过经过测试,有更简便的方法,就是button上再加上一个catchtap,这个catchtap有无值应该关系不大

a: function (e) {
  console.log('a')
},
b: function (e) {
  console.log('b',e)
},
c: function (e) {
 
  console.log('c')
}
<view bindtap="c">
  <button open-type="getUserInfo" bindgetuserinfo="b" catchtap="a">获取用户信息</button>
</view>

结果:并没有触发c函数

e.stopPropagation();  可以吗?

回到顶部