移动端JQ插件hammer使用详解

在移动端开发中,由于需要支持手势操作,常常会用到一些手势识别库。其中,Hammer.js 是一个轻量级的 JavaScript 插件,可以通过监听触摸、鼠标和指针事件来实现多种手势操作,并且不依赖其他任何库。

本文将对 Hammer.js 进行详细介绍和使用指导,并提供示例代码供读者参考。

安装和配置

首先,在 HTML 文档中引入 jQuery 和 Hammer.js 的 JavaScript 文件:

------- ----------------------------------------------------------------------------
------- -------------------------------------------------------------------------------

然后,在需要使用 Hammer.js 的页面中,初始化 Hammer.js 并绑定手势事件,例如:

------------ -
  --- --------- - -------------------------------------
  --- -- - --- ------------------

  -------------- -------- --- ------- ------------ -
      -- ------
  ---
---

上面的代码中,myElement 是需要处理手势事件的元素,mc 是 Hammer.js 的实例对象。panleftpanrighttappress 等是 Hammer.js 支持的手势事件。

手势事件

tap

单击事件,当手指轻触元素并迅速离开时触发,类似于鼠标的点击事件。

------------ ------------ -
    ---------------- ------ ------
---

doubletap

双击事件,当手指在短时间内两次轻触元素时触发。

------------------ ------------ -
    ---------------- ------------ ------
---

press

长按事件,当手指按住元素一段时间后触发。

-------------- ------------ -
    ---------------- ------- ------
---

pan

拖动事件,当手指在屏幕上移动时触发,包含以下属性:

  • deltaX:水平方向移动距离
  • deltaY:垂直方向移动距离
  • direction:移动方向,可取值为 DIRECTION_UPDIRECTION_DOWNDIRECTION_LEFTDIRECTION_RIGHT
  • angle:与 x 轴的夹角
  • distance:移动的距离
  • velocityX:水平方向的速度
  • velocityY:垂直方向的速度
------------ ------------ -
    ---------------- ------ ------
    -- ---------
    ---------------------- ---------- --------------
---

swipe

快速滑动事件,当手指在屏幕上快速滑动时触发,包含以下属性:

  • deltaX:水平方向滑动距离
  • deltaY:垂直方向滑动距离
  • direction:滑动方向,可取值为 DIRECTION_UPDIRECTION_DOWNDIRECTION_LEFTDIRECTION_RIGHT
  • angle:与 x 轴的夹角
  • distance:滑动的距离
  • velocityX:水平方向的速度
  • velocityY:垂直方向的速度
-------------- ------------ -
    ---------------- ------ ------
    -- ---------
    ------------------------- -------------
---

pinch

双指缩放事件,当两个手指在屏幕上缩放时触发,包含以下属性:

  • scale:缩放比例
  • deltaX:水平方向移动距离
  • deltaY:垂直方

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/3481