《H5 App开发》移动端IOS click 事件响应缓慢的解决方案

形成点击缓慢的缘由javascript

从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间。为何这么设计呢? 由于它想看看你是否是要进行双击(double tap)操做。java

 

第一种解决方案:jquery

使用js框架fastclick, 处理移动端 click 事件 300 毫秒延迟, 由 FT Labs 开发,Github 项目地址:https://github.com/ftlabs/fastclickios

在页面直接引入fastclick.jsgit

<script type='application/javascript' src='/path/to/fastclick.js'></script>

 原生js使用方法:github

window.addEventListener('load', function() {
  FastClick.attach(document.body);
}, false);

环境内有jquery的状况下,使用方法:浏览器

$(function() {
  FastClick.attach(document.body);
});

 

第二种解决方案:app

第二种解决方案是将click事件替换为touchstart事件框架

$(document).on("touchstart",".farmGoods",function(){
     alert('111');
 });

 

这两个解决方案的差别:测试

1.第一种方案在ios上面仍是会存在有点延迟的问题,可是能解决连续点击没反应的问题,上下滑动滚动条不会选中事件

2.第二种方案在ios上面不会存在延迟的问题,可是上下滑动滚动条会选中手指接触的第一个元素

 

ps:这里博主只是在ios App上面测试的这个问题,并未发现安卓系统会存在延迟、连选不中的问题;

推荐使用第一种解决方案