Event这个摸块大概用了1千行, 占源代码的1/9, 我知道代码量挺大 但是没想到就看一个绑定过程(边跟边记)就得花五六个小时…挺好的周末夜晚就这样到凌晨1点了…
这篇按时间顺序 说说jQ事件绑定还有event对象fix的流程
事件这块结构大概是这样:
1.外层: fn里有on,bind,live这些常用的接口
2.中间层: 上述接口会调用jQuery.event对象中的基础方法, 如add(). jQuery.event对象只是真正的执行者, 主要负责做(1)data缓存, (2)做兼容, (3)最终生成jQuery.Event实例 (4)dispatch执行
3.内层: jQuery.Event实例包装原生事件对象, 记录扩展的data, 记录执行函数结果等