一直以来都想着去详细了解手势事件相关的东西,又因为一直以来使用的都是Hammer.js,所以想着通过阅读Hammer.js的源码来学习手势的相关知识。
首先,我们来看Hammer.js的整体架构(Hammer.js的版本都是2.0.8)
我们来看,Hammer.js的初始化的流程图
var myElement = document.getElementById('hitarea');
var mc = new Hammer(myElement);
Hammer.js中需要理解的核心:
- manager,是整个Hammer.js的管理者,维系Hammer.js中各个模块
- 需要添加必须的css,在 new TouchAction() 和 toggleCssProps()两个方法中设置
- 创建当前的Input事件(监听手势的事件,如Touch, Pointer, Mouse等)以及对这些方法的处理
- 手势的检测和触发,都包含的 Recognizer 的方法之中