在开发时,使用click事件,发现在ios中有延迟和整个屏幕闪烁现象
体验很是不好,总结一下解决办法

H5页面在IOS中点击闪烁的问题

添加css样式

1
-webkit-tap-highlight-color:rgba(0,0,0,0)

H5页面在移动端端使用click延迟的问题

  1. 可使用tap事件进行替代
    tap事件在zepto中自带有,在jQuery中需引入额外的js
  2. 可使用touchstart事件
    但是会有各种各样的问题
  3. 使用库fastclick.js
    该库的压缩版大小约10KB左右
    使用方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //引入js
    <script src='fastclick.js'></script>

    //原生JS使用
    if ('addEventListener' in document) {
    document.addEventListener('DOMContentLoaded', function() {
    FastClick.attach(document.body);
    }, false);
    }

    //jQuery使用
    $(function() {
    FastClick.attach(document.body);
    });

    使用这种方法比较简单,就是需要额外加载10KB的文件。个人觉得现在的网络情况,影响不大。

本文地址: http://gehaiqing.com/2017/03/06/js-ios-click/