读Zepto源码之Data模块

2017-10-25
阅读 5 分钟
2.1k
Zepto 的 Data 模块用来获取 DOM 节点中的 data-* 属性的数据,和储存跟 DOM 相关的数据。 读 Zepto 源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 GitBook 《reading-zepto》 内部方法 attributeData {代码...} 这个方法用来获取给定 node 中所有 data-* 属性的值,...

读Zepto源码之Form模块

2017-10-23
阅读 4 分钟
2.3k
Form 模块处理的是表单提交。表单提交包含两部分,一部分是格式化表单数据,另一部分是触发 submit 事件,提交表单。 读 Zepto 源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 GitBook 《reading-zepto》 .serializeArray() {代码...} serializeArray 是格式化部分的核...

读Zepto源码之Stack模块

2017-10-16
阅读 2 分钟
2.5k
Stack 模块为 Zepto 添加了 addSelf 和 end 方法。 读 Zepto 源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 改写原有的方法 {代码...} Stack 模块改写了以上这些方法,这些方法在调用的时候,会为返回的结果 ret 添加 prevObject 的属性,用来保存原来的集合。 .addSe...

读Zepto源码之fx_methods模块

2017-10-12
阅读 4 分钟
2k
fx 模块提供了 animate 动画方法,fx_methods 利用 animate 方法,提供一些常用的动画方法。所以 fx_methods 模块依赖于 fx 模块,在引入 fx_methods 前必须引入 fx 模块。

读Zepto源码之Fx模块

2017-10-09
阅读 9 分钟
2.2k
fx 模块为利用 CSS3 的过渡和动画的属性为 Zepto 提供了动画的功能,在 fx 模块中,只做了事件和样式浏览器前缀的补全,没有做太多的兼容。对于不支持 CSS3 过渡和动画的, Zepto 的处理也相对简单,动画立即完成,马上执行回调。

读Zepto源码之IOS3模块

2017-09-30
阅读 3 分钟
3.3k
IOS3 模块是针对 IOS 的兼容模块,实现了两个常用方法的兼容,这两个方法分别是 trim 和 reduce 。 读 Zepto 源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 GitBook 《reading-zepto》 trim {代码...} 看注释, trim 是为了兼容 ios3.2 的。 也是常规的做法,如果 Str...

读Zepto源码之Gesture模块

2017-09-25
阅读 3 分钟
2.2k
Gesture 模块基于 IOS 上的 Gesture 事件的封装,利用 scale 属性,封装出 pinch 系列事件。 读 Zepto 源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 GitBook 《reading-zepto》 整体结构 {代码...} 注意这里有个判断 $.os.ios ,用来判断是否为 ios 。这个判断需要引...

读Zepto源码之Touch模块

2017-09-20
阅读 9 分钟
4.4k
大家都知道,因为历史原因,移动端上的点击事件会有 300ms 左右的延迟,Zepto 的 touch 模块解决的就是移动端点击延迟的问题,同时也提供了滑动的 swipe 事件。

读Zepto源码之Selector模块

2017-09-18
阅读 5 分钟
4.1k
Selector 模块是对 Zepto 选择器的扩展,使得 Zepto 选择器也可以支持部分 CSS3 选择器和 eq 等 Zepto 定义的选择器。

读Zepto源码之assets模块

2017-09-11
阅读 2 分钟
2k
assets 模块是为解决 Safari 移动版加载图片过大过多时崩溃的问题。因为没有处理过这样的场景,所以这部分的代码解释不会太多,为了说明这个问题,我翻译了《How to work around the Mobile Safari image resource limit》这篇文章作为附文(《怎样处理 Safari 移动端对图片资源的限制》),更详细地解释了这个模块的应...

读Zepto源码之Ajax模块

2017-08-28
阅读 23 分钟
5.4k
Ajax 模块也是经常会用到的模块,Ajax 模块中包含了 jsonp 的现实,和 XMLHttpRequest 的封装。 读 Zepto 源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 ajax的事件触发顺序 zepto 针对 ajax 的发送过程,定义了以下几个事件,正常情况下的触发顺序如下: ajaxstart :...

读Zepto源码之Deferred模块

2017-07-31
阅读 10 分钟
1.7k
Deferred 模块也不是必备的模块,但是 ajax 模块中,要用到 promise 风格,必需引入 Deferred 模块。Deferred 也用到了上一篇文章《读Zepto源码之Callbacks模块 )》介绍的 Callbacks 模块。

读Zepto源码之Callbacks模块

2017-07-23
阅读 9 分钟
1.8k
Callbacks 模块并不是必备的模块,其作用是管理回调函数,为 Defferred 模块提供支持,Defferred 模块又为 Ajax 模块的 promise 风格提供支持,接下来很快就会分析到 Ajax模块,在此之前,先看 Callbacks 模块和 Defferred 模块的实现。

读Zepto源码之Event模块

2017-07-18
阅读 20 分钟
4.3k
Event 模块是 Zepto 必备的模块之一,由于对 Event Api 不太熟,Event 对象也比较复杂,所以乍一看 Event 模块的源码,有点懵,细看下去,其实也不太复杂。

读Zepto源码之属性操作

2017-06-25
阅读 14 分钟
4.6k
如果属性值 value 存在,则调用元素的原生方法 setAttribute 设置对应元素的指定属性值,否则调用 removeAttribute 删除指定的属性。

读 Zepto 源码之样式操作

2017-06-11
阅读 12 分钟
4.2k
这个函数是用来返回一个正则表达式,这个正则表达式是用来匹配元素的 class 名的,匹配的是如 className1 className2 className3 这样的字符串。

读 Zepto 源码之操作 DOM

2017-06-04
阅读 10 分钟
1.7k
这篇依然是跟 dom 相关的方法,侧重点是操作 dom 的方法。 读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 .remove() {代码...} 删除当前集合中的元素。 如果父节点存在时,则用父节点的 removeChild 方法来删掉当前的元素。 相似方法生成器 zepto 中 after、 p...

读 Zepto 源码之集合元素查找

2017-05-30
阅读 11 分钟
3.9k
之前有一章《读Zepto源码之内部方法》是专门解读 zepto 中没有提供给外部使用的内部方法的,但是有几个涉及到 dom 的方法没有解读,这里先将本章用到的方法解读一下。

读Zepto源码之集合操作

2017-05-22
阅读 4 分钟
3.1k
接下来几个篇章,都会解读 zepto 中的跟 dom 相关的方法,也即源码 $.fn 对象中的方法。 读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 .forEach() {代码...} 因为 zepto 的 dom 集合是类数组,所以这里只是简单地复制了数组的 forEach 方法。 具体的 forEach ...

读 Zepto 源码之神奇的 $

2017-05-14
阅读 8 分钟
3.3k
经过前面三章的铺垫,这篇终于写到了戏肉。在用 zepto 时,肯定离不开这个神奇的 $ 符号,这篇文章将会看看 zepto 是如何实现 $ 的。

读 zepto 源码之工具函数

2017-04-30
阅读 6 分钟
3.7k
Zepto 提供了丰富的工具函数,下面来一一解读。 源码版本 本文阅读的源码为 zepto1.2.0 $.extend $.extend 方法可以用来扩展目标对象的属性。目标对象的同名属性会被源对象的属性覆盖。 $.extend 其实调用的是内部方法 extend, 所以我们先看看内部方法 extend 的具体实现。 {代码...} extend 的第一个参数 taget 为目标...