开发者社区> 问答> 正文

移动端页面touch会穿透,这是bug么?

touch事件会穿透页面,电脑上chrome模拟不会有,但手机上实际操作会出现

展开
收起
a123456678 2016-03-26 11:07:02 1906 0
1 条回答
写回答
取消 提交回答
  • 移动端的click都是touch之后,才会模拟触发。
    触发的顺序是
    touchstart
    touchmove
    touchend
    mousedown
    mousemove
    mouseenter
    click
    在重叠的区域里,被遮盖的元素绑定click,遮盖的元素绑定touch事件,且touch后遮盖的元素会隐藏的话,就会造成穿透,因为click是在touch之后延迟触发的,浏览器会误认为是在遮盖的元素上触发了click。
    最好的解决方案是 自己通过touchstart,touchmove,touchend,来模拟一个click(tap)事件,这样除了防止穿透外,事件响应速度也会提高。

    2019-07-17 19:15:48
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
基于浏览器的实时构建探索之路--玄寂 立即下载
基于浏览器的实时构建探索之路 立即下载
函数计算最佳实践:快速开发一个分布式 Puppeteer 网页截图服务 立即下载