美文网首页
2020-05-04 前端常见问题

2020-05-04 前端常见问题

作者: sll_ | 来源:发表于2020-05-04 03:07 被阅读0次

    1.transfrom和吸顶冲突

    2.移动端300ms点击延迟和点击穿透问题

    一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟。
    移动端300ms点击延迟和点击穿透问题

    问题由来
    2007 年苹果公司发布 iPhone ,苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题。双击缩放,即用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。 那么这和 300 毫秒延迟有什么联系呢? 假定这么一个场景。用户在 iOS Safari 里边点击了一个链接。由于用户可以进行双击缩放或者双击滚动的操作,当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行双击操作。因此,iOS Safari 就等待 300 毫秒,以判断用户是否再次点击了屏幕。其他移动浏览器都复制了 iPhone Safari 浏览器的多数约定,包括双击缩放,几乎现在所有的移动端浏览器都有这个功能。

    目前,浏览器开发商的解决方案主要有:
    方案一:禁用缩放

    <meta name="viewport" content="user-scalable=no">
    <meta name="viewport" content="initial-scale=1,maximum-scale=1">
    

    表明这个页面是不可缩放的,那双击缩放的功能就没有意义了,此时浏览器可以禁用默认的双击缩放行为并且去掉300ms的点击延迟。
    方案二:FastClick
    事件执行的顺序是touchstart > touchend > click。而click事件有300ms的延迟。
    300ms延迟会引发点击穿透问题

    使用fastclick在ios会有bug

    相关文章

      网友评论

          本文标题:2020-05-04 前端常见问题

          本文链接:https://www.haomeiwen.com/subject/unwsghtx.html