摘要:
一、tap.js 这是一个比较轻量的插件tap.js,142行代码,支持模块化开发。 1)handleEvent addEventListener方法中的第二个参数,我原先并没有注意到其实可以传一个对象,该对象必是实现EventListener接口,查看在线代码。 var tap = { handl 阅读全文
摘要:
不同识别器会使用不同逻辑,根据从相关Input类获取到的事件对象和事件,实现自定义的触屏事件,例如tap、pinch等。 一、继承关系 Recognizer与前面的Input一样,也相当于是个抽象类。 从上图中可以看到,6个子类都会先继承AttrRecognizer类,因为AttrRecognize 阅读全文
摘要:
input.js是所有input文件夹中类的父类,浏览器事件绑定、初始化特定的input类、各种参数计算函数。 Input父类和其子类就是在做绑定事件,各种参数计算、整合、设置等返回自定义事件对象,交给识别器的相关对象使用。 一、Input父类 Input相当于一个抽象类,对象中总共有3个方法 1) 阅读全文
摘要:
“Manager”是所有识别器实例的容器,它为你设置的元素安装了交互事件监听器,并设置了触摸事件特性。 manager.js中的代码会涉及到input.js和recoginzer.js中的内容,这里会先做大致的流程分析,具体分析会在接下来的文章中详谈。 一、Manager构造函数 初始化流程如下所示 阅读全文
摘要:
从github上面将源码下载下来,会发现有个src文件夹。当前版本是2.0.6。 总的结构如下: 一、常量 这里将常量全部列在一起是可以在对比源码的时候,更方便的查看相应内容。 二、utils.js 各种工具方法包含其中。 1)setTimeoutContext:封装了一下setTimeout 2) 阅读全文
摘要:
一、chrome中的Remote Debugging 一开始并没有用这个调试,不过后面需要多点触碰,可chrome模拟器中我没看到这个功能。突然看到了Remote Debugging,网站需要FQ才能浏览。 1)以我的红米为例,首先要打开USB调试 2)手机连接电脑,打开PC的chrome,输入“c 阅读全文
摘要:
一、安装 1)安装nodejs 通过nodejs的npm安装gulp,插件也可以通过npm安装。windows系统是个.msi工具,只要一直下一步即可,软件会自动在写入环境变量中,这样就能在cmd命令窗口中直接使用node或npm指令。 我上面的cmd,已经被git封装过了,字体都变成彩色的了。安装 阅读全文
摘要:
一、入门心法 1)通常工作梳理用5W1H法: (P82) 1. Why ——为什么干这事儿?(目的) 2. What ——什么事情?(对象) 3. Where ——在什么地方执行?(地点) 4. When ——什么时候执行?什么时候完成?(时间) 5. Who ——由谁执行?(人员) 6. How 阅读全文
摘要:
Promises是一种异步编程模型,通过一组API来规范化异步操作,这样也能够让异步操作的流程控制更加容易。下面的代码是假设执行一个异步队列,每一项都会使用上一项返回的数据:function nest(url, params, fn) { $.getJSON(url, params, func... 阅读全文
摘要:
我分析的jQuery版本是1.8.3。Sizzle代码从3669行开始到5358行,将近2000行的代码,这个引擎的版本还是比较旧,最新的版本已经到v2.2.2了,代码已经超过2000行了。并且还有个专门的Sizzle主页。从一个demo开始,HTML代码如下: 子集1 ... 阅读全文