一, 引用
http://hammerjs.github.io/dist/hammer.min.js
二, 功能
hammer提供了一組模擬多點觸摸手勢,增強滑動手勢的體驗度,而且不依賴其它任何庫,用法和jQuery類似:
var el = document.getElementById("el"); //綁定左滑事件 Hammer(el).on("swipeleft",function(e){ alert("左滑成功"); })
三, API
一些選項可以通過第二個參數傳入:
var hammertime = Hammer(element,{ drag : false, //不允許拖曳行為 transform : false //transform規定 transform_always_block : true, transform_min_scale : 0.5 //最小到原圖的0.5 drag_block_horizontal : true, drag_block_vertical : true, drag_min_distance : 0 })
hammer觸摸事件對象的屬性(e.gesture):
| angle | 手指初始點和當前點構成的直線角度 |
| center | 包括pageX, pageY,表示坐標 |
| deltaTime | 手指處於屏幕的時間 |
| deltaX/deltaY | 手指在X和Y方向移動的距離 |
| direction | 與angle相關聯,left,right,up,down |
| distance | 手指移動的距離 |
| eventType | |
| pointerType | 指針類型,touch或mouse |
| rotation | 雙指觸摸時的旋轉,transform觸發時使用 |
| scale | 雙指觸摸時的縮放,transform觸發時使用 |
| srcEvent | |
| startEvent | |
| target | 事件目標 |
| timeStamp | 事件發生時的時間戳 |
| touches | 原始事件的touches對象 |
| velocityX/velocityY | 手指在X和Y方向上移動的速度 |
