小程序点击事件阻止冒泡处理

代码:

<view id='5' class='home-menu'  bindtap='toRouter'>
  <image id='5' bindtap='toRouter' src='../../assets/icon/m3.png'>image>
  <view class='t-c'>时间view>
view>

这个时候会出现一种情况,当我点击view时,他会跳转到指定页面,当我点击view里面的image时,他会跳转2遍指定页面,第一反应就是当年做的第一个前端项目出现了新的认知,事件冒泡。
除了那次后来都没碰见过,今天在小程序遇到了。
解决方法:

//父元素不变
<view id='5' class='home-menu'  bindtap='toRouter'>     
    //子元素事件改为catchtap绑定
  <image id='5' catchtap='toRouter' src='../../assets/icon/m3.png'>image>
  <view class='t-c'>时间view>
view>

当初把小程序文档粗略看了一遍,知道事件绑定为bindtap就没仔细看相关的后续,
在小程序中事件分为冒泡事件非冒泡事件
冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。
其中有一行字单独说明了:

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

soso~

你可能感兴趣的:(小程序,Javascript)