移动端WEB开发,click,touch,tap事件

1、click 和 tap 事件比较

     两者都会有点击时触发,但是在手机WEB端,click会有200~300ms的延迟,所以用zepto的tap代替click作为点击事件

     singleTap 和doubleTap 分别边上单击事件和双击事件。

2、关于tap事件的点透处理

    (1) 在使用zepto框架的tap来作为移动设备浏览器的点击事件来规避click事件的延迟响应时,有可能出现点透的情况,即点击会触发非当前层的点击事件,并传递事件。

     处理方式:

          使用FastClick 库   https://github.com/ftlabs/fastclick 

          引入FastClick 库,并添加: 

          $(function(){

            new FastClick(document.body);

        });

      然后给需要“无延迟点击”的元素绑定click事件,注意不再是绑定zepto的tap事件

     当然,也可以不再body上初始化它,而在某个dom上初始化,这样,只有这个dom和它的子元素才能享受无延迟的点击

     当元素绑定Fastclick后,click响应速度比tap还要快。 (没有触发dom的click事件,new 一个 Event支持冒泡的事件,如果是click的话,则隐式调用声明的方法)

    (2)为元素绑定touchend事件,并在内部添加e.preventDefault() 方法

         $el.on('touchend',function(e){

             e.preventDefault();

            //do some thing

         });

      

3、 touch事件touch是针对触屏手机上的触屏事件

    touchstart : 当手指触摸到屏幕会触发

    touchmove: 当手指在屏幕上移动时会触发

    touchend :当手指离开屏幕时会触发

    touchcancel:: 当手指还没有离开屏幕,有系统的操作。

   

你可能感兴趣的:(HTML5)