组件容器元素的 tap 事件,如何判断被点击的是哪个后代组件?

发布于 7 年前作者 xiaojie3922 次浏览最后编辑 7 年前来自 issues

A 和 B 间的关系为 ancestor 和 descendant:

<!-- a.wxml -->
<view bind:tap="onTap">
  <slot />
</view>
<!-- page.wxml -->
<a>
  <b />
  <c />
</a>

当 A 的容器元素的 tap 事件触发时,如何判断 B 是否被点击?

尝试过 B 的 tap 事件记录点击时间,A 的 tap 事件判断 B 的最近点击时间是否接近,但发现不太可靠,会受设备性能影响。

2 回复
cuixia
cuixia1 楼5 年前

已解决,使用 event.timeStamp(事件生成时的时间戳),同一次点击 B 组件内的 tap 和 A 组件的 tap 事件的 timeStamp 是一致的,不应该自己生成时间。

nameng
nameng2 楼5 年前

e.detail.target