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函數

相關文章
相關標籤/搜索