Hammer.js源码解析(2) - Manager类

Manager类css

Manager类是用来管理Hammer.js中全部的数据的
首先咱们来看Manager类的属性和方法
图片描述数组

属性:session

  1. session:顾明思议,用于保存一些全局使用的数据
  2. element:须要绑定手势事件的dom元素
  3. options:也是初始化Hammer须要的配置
  4. handlers:保存全部的手势绑定事件,用于成功识别手势后触发
  5. recognizers:保存全部的手势,能够在options.recognizers或直接使用默认

关于session的属性,其中,dom

图片描述

(1) stoped, curRecognizer用在Manager.recognize()方法中
(2) preInput, firstInput, firstMultiple, offsetDelta, prevDelta用于对原生触摸事件的处理
(3) lastInterval, prevented用于TouchAction()方法之中spa

方法:code

  1. set(options):用于重置初始化的options
  2. stop(force):设置 session.force 属性,能够关闭手势触发
  3. recognize(inputData):参数为通过处理的手势数据,循环 session.recognizers 去触发每一个 recognizerrecognizer.recognize(inputData) 事件
  4. get(recognizerName):经过 recognizer.options.name 去查看到对应的 recognizer
  5. add(recognizer):添加手势,若是以前有相同事件的手势,会把以前的手势给移除
  6. remove(recognizer):移除掉某个手势,移除成功以后会调用manager.touchAction.update()方法
  7. on(events, handler):添加手势事件,就是将 event:[handler1, handler2, ...] 的方式在session.handlers
  8. off(events, handler):移除手势事件,若是event对应只有一个handler,直接delete session.handlers[event], 不然从session.handlers[event]数组中除去handler元素
  9. emit(event, data):触发手势事件,一般都是 manager.recognize() -> recognizer.recognize() -> manager.emit() 的流程
  10. destory():销毁整个手势相关的数据,并还原以前元素的样式

manage.js中还附带了两个单独的方法事件

  1. toggleCssProps(manager, add):方法用于为 element 设置手势运动须要的css,已经销毁时将以前的style还原
  2. triggerDomEvent():用于触发绑定在 element 上的原生事件
相关文章
相关标签/搜索