一, 引用
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方向上移動的速度 |