收藏
回答

教程问题反馈:第3章 理解小程序宿主环境事件

以下示例中,点击 inner view 会先后调用handleTap1、handleTap2、handleTap3、handleTap4。

码清单3-20    使用capture-前缀阻止事件的冒泡和捕获
<view id="outer" bind:tap="handleTap4" capture-bind:tap="handleTap1">
  outer view
  <view id="inner" bind:tap="handleTap3" capture-bind:tap="handleTap2">
    inner view
  </view>
</view>

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。如果将以上代码的capture-bind:tap="handleTap1"改成capture-catch:tap="handleTap1",点击inner view只会触发handleTap1(catch事件阻止了tap事件冒泡)。

代码清单3-21 事件的冒泡和捕获

<view id="outer" bind:tap="handleTap4" capture-catch:tap="handleTap1">
  outer view
  <view id="inner" bind:tap="handleTap3" capture-bind:tap="handleTap2">
    inner view
  </view>
</view>

测试完毕,确认

码清单3-20    使用capture-前缀阻止事件的冒泡和捕获

这句话是错误的

catch事件阻止了tap事件冒泡是正确的

回答关注问题邀请回答
收藏

1 个回答

  • 是小白啊
    是小白啊
    2018-12-28

    请勿重复发帖,此贴先隐藏

    2018-12-28
    有用
    回复
登录 后发表内容