zepto.js 脚本分析

源码中有14个模块 ployfill,zepto,detect, event, ajax,form ,fx 7个标准模块,fx_methods这个模块是支持动画的,data模块提供对  数据的支持,像jquery一样内存对象存储。assets模块移除img元素的一些特殊处理,用来清理内存。
   1 selector模块更多的选择器,对css选择器的支持:不支持:text,:first等选择器,可以通过引入selector选择器引进一些扩展。
   2 touch模块对触摸事件的支持,不要用click事件,用tap代替,因为click有200-300ms的延迟,tap更快的响应事件。
   3 元素尺寸的计算:计算的高度暂时 https://github.com/jquery/jquery/blob/master/src/css.js#L460
   4 zeptojs和jquery的做法有点不同,zeptojs是运用工厂模式生成带一大堆方法的对象来搞,jquery则是构造函数更改原形链来搞。
     事件触发机制:
   5 绑定移除事件, 通过单独的配置参数来移除所有的事件,不像jquery一样用obj.onclick = null;来移除事件所绑定的回调函数,而是          引入了$(obj).off();
   6 事件委托不同:jq先定位父元素绑定事件,在为子元素绑定事件。先定位子元素在为closet的父元素绑定事件。
   7 事件触发:通过模拟方法来触发事件,这样可以处理自定义事件。
          对于ajax的机制: xhr对象->发送请求->处理响应.实际编写中会遇见 超时,跨域,后退等问题。
          解决方案:
          超时:设置定时规定时间内未返回信息,作超时处理。
          跨域:动态添加script标签,并设置onload事件,进行处理。
          后退:通过修改location.hash事件产生的历史,设置hashchange事件处理后退。

链接http://www.zeptojs.cn/

posted @ 2015-07-13 20:41  一渡  阅读(226)  评论(0)    收藏  举报