关于移动端的Click事件

      在移动端执行Click事件,通常情况出现有300毫秒的延迟,为防止这种不必要的延迟效果,我们可以换种方式来实现,同样达到快速执行Click事件的效果。

先了解一下移动端Click的执行顺序: touchstart - > touchmove -> touchend -> mouseover ->mousemove ->click, 从这个执行顺序可以看出,走完这个过程,300毫秒到click响应不足为奇了。

既然如此,我们完全可以通过touchstart来取代click事件,另外,也可以在click事件里,对event的type来判断来快速执行响应。

       IOS阻止默认click事件原理,需要主要的是:

       (1)只是针对IOS,其它平台不必阻止;

       (2)在touchend时就看手指移动情况来觉得该阻止click或者是取消touch事件;

   (3)只有event类型为click时才有必要阻止。

在touchend的时候与touchstart时比较时间,位置,以区别是否执行“按下”的操作。值得一提的是,Zepto的tap事件,已经很好的为我们解决了这个问题。

     

  

 

posted @ 2015-08-31 16:29  love_zzh  阅读(536)  评论(0编辑  收藏  举报