组件容器元素的 tap 事件,如何判断被点击的是哪个后代组件?
发布于 5 年前 作者 xiaojie 3725 次浏览 来自 官方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 回复

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

e.detail.target

回到顶部