Hammer.js源码解析(1) - 整体架构

thisisid 2019-06-26

一直以来都想着去详细了解手势事件相关的东西,又因为一直以来使用的都是Hammer.js,所以想着通过阅读Hammer.js的源码来学习手势的相关知识。

首先,我们来看Hammer.js的整体架构(Hammer.js的版本都是2.0.8)
Hammer.js源码解析(1) - 整体架构

我们来看,Hammer.js的初始化的流程图

var myElement = document.getElementById('hitarea');
var mc = new Hammer(myElement);

Hammer.js源码解析(1) - 整体架构

Hammer.js中需要理解的核心:

  1. manager,是整个Hammer.js的管理者,维系Hammer.js中各个模块
  2. 需要添加必须的css,在 new TouchAction() 和 toggleCssProps()两个方法中设置
  3. 创建当前的Input事件(监听手势的事件,如Touch, Pointer, Mouse等)以及对这些方法的处理
  4. 手势的检测和触发,都包含的 Recognizer 的方法之中

相关推荐