移动端click事件

1.移动端click事件的触发会延迟200ms(直观反映例如touch事件全部执行完毕之后才会到click事件)
2.为了让用户体验更好能够实时触发,所以一般不要用click事件而是自己封装一个tap方法(手指快速点击)
3.touch事件只有三个:touchstart、touchmove、touchend,像左右滑动、长按都是封装出来的
4.如何算tap事件:手指点上去 不移动 快速松开 (还是通过封装三个touch事件去实现)
    (1)touchstart
    (2)touchmove:只要手指不动就不会触发(换句话说就是只要能够执行这个方法,就说明用户的手指滑动了,就默认认为点击失效)
        —–> 不移动逻辑:在touchmove里面定义一个变量为标识,程序进了touchmove里面的时候就把这个标识变量改为true,然后在touchend里面如果这个标识变量为true就说明用户移动了,移动了就说明跟这次我们封装的点击事件失效   
    (3)touchend
        ——>  快速松开逻辑:在touchstart里面记录开始时间,在touchend里面记录跟开始时间的差值
            var startTime = Date.now():获取当前的系统时间
            计算差值:Date.now() – startTime 

转载自:https://blog.csdn.net/UNDEFINED_AUBE/article/details/78935946

You may also like...

退出移动版