hammer.js

hammerjs是什么?

hammerjs是一个短小精悍的库,他可让咱们轻松的实现移动端上的手势。 javascript

  hammerjs的两大优点以下:html

  1. 为移动端网页添加相关手势。
  2. 去除移动端上的点击事件的300ms延迟.

为何使用hammerjs

  诚然,咱们能够经过touch的四个事件等来完成相同的功能,可是不可避免的会比较麻烦,因此既然前人已经造了这个好轮子,为何不去使用呢? 另外,300ms的延迟有时是咱们不须要的,好比,咱们在作webapp时,不须要页面的缩放,而300ms的延迟就是为了webapp的缩放而规定的, 所以作webapp时咱们就可使用hammer-time.js来移除300ms的点击延迟。java

  另外,hammer.js通过压缩只有7kb,而hammer-time.js通过压缩只有1kb,因此彻底不用考虑引入他们以后的性能问题,这简直太棒了!git

安装

  咱们能够直接将hammer.js和hammer-time.js下载下来,而后引入script标签便可。 github

  hammer.jsweb

  hammer-time.jsapp

例子dom

 

<script src="https://hammerjs.github.io/dist/hammer.js"></script>

<div id="myElement">good</div>

var myElement = document.getElementById('myElement');
    var mc = new Hammer(myElement);
 mc.on("panleft panright tap press", function(ev) {
      myElement.textContent = ev.type +" gesture detected.";
  });

 

 这样,当咱们使用这些事件时就会触发相应的函数了。 这里有几点须要注意:webapp

  1.  hammer.js依赖于一个dom元素,并须要建立他的实例。
  2.  这里咱们直接使用new Hammer()来建立了一个实例,这个实例中就自动帮咱们建立了tap、doubletap、pan、swap、press事件,因此咱们能够直接经过on来监听这些事件,可是他并无建立 pinch 事件和 rotate 事件,由于建立这两个事件会将该元素修改成块级元素,固然,咱们能够经过设置还使得其支持pinch和rotate事件。以下所示:
mh.get('pinch').set({ enable: true });
mh.get('rotate').set({ enable: true });

 

 

参考文献:https://www.cnblogs.com/zhuzhenwei918/p/6853258.html函数

相关文章
相关标签/搜索