zoukankan      html  css  js  c++  java
  • 05-移动端touch触屏事件和click点击事件的区别

    在移动的时候会触发触屏事件,依次触发:

      touchstart,touchmove,touchend

    在松开手指的时候,会触发click点击事件。

    在点击或者长按不移动的时候然后松开手指,依次会触发:

      touchstart,touchend,click

    通常我们点击就是不移动,但是点击事件发生在touchStart和touchEnd结束后,这样的话click事件前面还会发生两个触屏事件,就可能会造成一些延迟(300ms的延迟)。

    比较影响用户体验,300ms用于判断双击还是长按事件,只有当没有后续的动作发生时(300m后),才会触发click事件。

    希望 能用touch事件封装一个相应速度更快的 点击事件 tap

    touch判断为点击事件的条件: 

    1、触屏开始 到触屏结束 手指没有移动 

    2、接触屏幕的时间 小于指定的值 150ms 

     满足以上两个条件 可以认为是点击事件触发了 

    下面是根据上面两条转为代码:

    Date.now() -> 当前时间的时间戳

     上面的代码的意思就是,当在touchend的时候,如果符合没有移动或者从开始到结束的时间小于15ms,说明用户就是一个单纯的点击事件,那么就直接调用点击事件的方法函数,不用再去等待300ms延迟了,就让其立即执行。

  • 相关阅读:
    36、【opencv入门】运动物体检测(2)
    二叉树数
    多边形的三角划分
    乘积最大
    加分二叉树
    c++ 装箱问题
    生物基元问题
    一般性的最少硬币组成问题
    打包
    挤牛奶
  • 原文地址:https://www.cnblogs.com/haoqiyouyu/p/14531241.html
Copyright © 2011-2022 走看看