WangXiZhu / fe-storage

这是平时自己的学习资料
0 stars 2 forks source link

移动端touch点透 #26

Open WangXiZhu opened 5 years ago

WangXiZhu commented 5 years ago

表现

一个固定定位元素A绑定了touchstart事件,上层层元素B(该元素已经设置display:none,但是z-index比当前的元素高)绑定click事件。触发A的touchstart 之后会执行逻辑将B的display改为block。但这时候B的click事件会被触发?

如何修复

原因

A从被B挡住,而且由于移动端click还有延迟200-300ms的关系,当系统要触发click的时候,发现在用户点击的位置上面,目前离用户最近的元素是B,所以就直接把click事件作用在B元素上面了。所以上面的解决方式只是避免这段延时时间内距离用户最新元素B的展示。

参考

https://www.jianshu.com/p/dc3bceb10dbb