外层使用catchtouchstart影响内层tap事件响应
发布于 6 年前 作者 yangzhu 571 次浏览 来自 问答

bug表现:

如题,如果我在外层的view  catch了touchstart那么内层的tap事件会不响应。不知道这个是不是bug。

  • 预期表现

内层tap事件正常响应。如果不能正常响应那么就会有一个在我看来很严重的问题,首先假定现在有三层,内层、外层、最外层(也是在代码片段里简单演示了),如果我最外层里面有touch的逻辑,同时不希望点击在内层的时候响应,应该怎么办。如果在外层catch那内层的tap不能用,如果不catch那就达不到要求。

  • 复现路径

点击代码片段中的外层可捕捉到touch事件,点击内层无法响应tap事件

  • 提供一个最简复现 Demo

已附代码片段

2 回复

基础库里面有个规则:如果 touchstart 被 catch (无论在哪一层),则对应的 tap 事件不会触发。

想知道你具体的场景是什么样呢?

外层不要catch touchstart事件,在内层catchtap和catchtouchstart,不知道这样能不能满足你的需求?

回到顶部