轉載:touch.js詳解

該文章轉載自touch.js詳解

Touch

在開發移動端的應用中會使用到很多的手勢操作,例如一指拖動、兩指旋轉等等,爲了方便開放者快速集成這些手勢,在Clouda中內置了事件和手勢庫Library.touch,下面將詳細的介紹如何使用Library.touch。

手勢事件處理類API目前支持以下功能:

  • 事件配置
  • 事件代理
  • 事件綁定
  • 解除事件代理
  • 解除事件綁定
  • 觸發事件

事件配置

touch.config(config)

功能描述:

對手勢事件庫進行全局配置。

參數描述:

  • config爲一個對象

    {
        tap: true,                  //tap類事件開關, 默認爲true
        doubleTap: true,            //doubleTap事件開關, 默認爲true
        hold: true,                 //hold事件開關, 默認爲true
        holdTime: 650,              //hold時間長度
        swipe: true,                //swipe事件開關
        swipeTime: 300,             //觸發swipe事件的最大時長
        swipeMinDistance: 18,       //swipe移動最小距離
        swipeFactor: 5,             //加速因子, 值越大變化速率越快
        drag: true,                 //drag事件開關
        pinch: true,                //pinch類事件開關
    }

事件代理

touch.on( delegateElement, types, selector, callback );

功能描述:

事件代理方法。

參數描述:

參數類型描述
delegateElementelement或string事件代理元素或選擇器
typesstring手勢事件的類型, 可接受多個事件以空格分開;支持原生事件的透傳。目前支持的具體事件類型,詳見《手勢事件類型》
selectorstring代理子元素選擇器,
callbackfunction事件處理函數,如需瞭解手勢庫支持的新屬性,詳見《事件對象》

**

手勢事件類型

**

支持的手勢事件類型:

分類參數描述
縮放pinchstart縮放手勢起點
pinchend縮放手勢終點
pinch縮放手勢
pinchin收縮
pinchout放大
旋轉rotateleft向左旋轉
rotateright向右旋轉
rotate旋轉
滑動swipestart滑動手勢起點
swiping滑動中
swipeend滑動手勢終點
swipeleft向左滑動
swiperight向右滑動
swipeup向上滑動
swipedown向下滑動
swipe滑動
拖動開始dragstart拖動屏幕
拖動drag拖動手勢
拖動結束dragend拖動屏幕
拖動drag拖動手勢
長按hold長按屏幕
敲擊tap單擊屏幕
doubletap雙擊屏幕

更多使用實例請參考http://code.baidu.com

**

事件對象

**

事件處理函數的第一個參數爲事件對象,除了原生屬性之外,百度手勢庫還提供了部分新屬性。

以下爲手勢新增的屬性:

屬性描述
originEvent觸發某事件的原生對象
type事件的名稱
rotation旋轉角度
scale縮放比例
direction操作的方向屬性
fingersCount操作的手勢數量
position相關位置信息, 不同的操作產生不同的位置信息
distanceswipe類兩點之間的位移
distanceX, x手勢事件x方向的位移值, 向左移動時爲負數
distanceY, y手勢事件y方向的位移值, 向上移動時爲負數
anglerotate事件觸發時旋轉的角度
durationtouchstart 與 touchend之間的時間戳
factorswipe事件加速度因子
startRotate啓動單指旋轉方法,在某個元素的touchstart觸發時調用

事件綁定

touch.on( element, types, callback );

功能描述:

事件綁定方法,根據參數區分事件綁定和事件代理。

參數描述:

參數類型描述
elementelement或string事件綁定元素或選擇器
typesstring事件的類型, 可接受多個事件以空格分開,支持原生事件的透傳。具體參數說明,同“事件代理”方法中的“types”參數說明。
callbackfunction事件處理函數,具體參數說明,同“事件代理”方法中的“callback”參數說明。

解除事件代理

touch.off( delegateElement, types, selector, callback )

功能描述:

解除某元素上的事件代理。

參數描述:

參數類型描述
delegateElementelement或string元素對象或選擇器
typesstring事件的類型,具體參數說明,同“事件代理”方法中的“types”參數說明。
selectorstring代理子元素選擇器
callbackfunction事件處理函數, 移除函數與綁定函數必須爲同一引用。具體參數說明,同“事件代理”方法中的“callback”參數說明。

解除事件綁定

touch.off( element, types, callback )

功能描述:

解除某元素上的事件綁定,根據參數區分事件綁定和事件代理。

參數描述:

參數類型描述
elementelement或string元素對象、選擇器
typesstring事件的類型,具體參數說明,同“事件代理”方法中的“types”參數說明。
callbackfunction事件處理函數, 移除函數與綁定函數必須爲同一引用;具體參數說明,同“事件代理”方法中的“callback”參數說明。

觸發事件

touch.trigger(element, type);

功能描述:

觸發某個元素上的某事件。

參數描述:

參數類型描述
elementelement或string元素對象或選擇器
typestring事件的類型,具體參數說明,同“事件代理”方法中的“types”參數說明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章