摘要:讀源碼系列文章已經(jīng)放到了上,歡迎源碼版本本文閱讀的源碼為改寫原有的方法模塊改寫了以上這些方法,這些方法在調(diào)用的時(shí)候,會(huì)為返回的結(jié)果添加的屬性,用來(lái)保存原來(lái)的集合。方法的分析可以看讀源碼之模塊。
Stack 模塊為 Zepto 添加了 addSelf 和 end 方法。
讀 Zepto 源碼系列文章已經(jīng)放到了github上,歡迎star: reading-zepto
源碼版本本文閱讀的源碼為 zepto1.2.0
改寫原有的方法"filter,add,not,eq,first,last,find,closest,parents,parent,children,siblings".split(",").forEach(function(property) { var fn = $.fn[property] $.fn[property] = function() { var ret = fn.apply(this, arguments) ret.prevObject = this return ret } })
Stack 模塊改寫了以上這些方法,這些方法在調(diào)用的時(shí)候,會(huì)為返回的結(jié)果 ret 添加 prevObject 的屬性,用來(lái)保存原來(lái)的集合。
.addSelf()$.fn.andSelf = function() { return this.add(this.prevObject || $()) }
addSelf 方法是在鏈?zhǔn)秸{(diào)用以上方法的時(shí)候,將原來(lái)的集合添加到當(dāng)前的集合中。add 方法的分析可以看《讀Zepto源碼之Callbacks模塊》。
.end()$.fn.end = function() { return this.prevObject || $() }
end 方法是將集合還原到前一個(gè)狀態(tài),其實(shí)就是將上一個(gè)集合返回。
GitBook《reading-zepto》
系列文章讀Zepto源碼之代碼結(jié)構(gòu)
讀Zepto源碼之內(nèi)部方法
讀Zepto源碼之工具函數(shù)
讀Zepto源碼之神奇的$
讀Zepto源碼之集合操作
讀Zepto源碼之集合元素查找
讀Zepto源碼之操作DOM
讀Zepto源碼之樣式操作
讀Zepto源碼之屬性操作
讀Zepto源碼之Event模塊
讀Zepto源碼之IE模塊
讀Zepto源碼之Callbacks模塊
讀Zepto源碼之Deferred模塊
讀Zepto源碼之Ajax模塊
讀Zepto源碼之Assets模塊
讀Zepto源碼之Selector模塊
讀Zepto源碼之Touch模塊
讀Zepto源碼之Gesture模塊
讀Zepto源碼之IOS3模塊
讀Zepto源碼之Fx模塊
讀Zepto源碼之fx_methods模塊
附文譯:怎樣處理 Safari 移動(dòng)端對(duì)圖片資源的限制
License署名-非商業(yè)性使用-禁止演繹 4.0 國(guó)際 (CC BY-NC-ND 4.0)
最后,所有文章都會(huì)同步發(fā)送到微信公眾號(hào)上,歡迎關(guān)注,歡迎提意見(jiàn):
作者:對(duì)角另一面
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/89070.html
摘要:是禁用回調(diào)函數(shù),實(shí)質(zhì)是將回調(diào)函數(shù)列表置為,同時(shí)也將和置為,調(diào)用后,等方法不再生效,這些方法的首要條件是存在。效果等同于禁用回調(diào)函數(shù)。 Callbacks 模塊并不是必備的模塊,其作用是管理回調(diào)函數(shù),為 Defferred 模塊提供支持,Defferred 模塊又為 Ajax 模塊的 promise 風(fēng)格提供支持,接下來(lái)很快就會(huì)分析到 Ajax模塊,在此之前,先看 Callbacks 模...
摘要:模塊處理的是表單提交。表單提交包含兩部分,一部分是格式化表單數(shù)據(jù),另一部分是觸發(fā)事件,提交表單。最終返回的結(jié)果是一個(gè)數(shù)組,每個(gè)數(shù)組項(xiàng)為包含和屬性的對(duì)象。否則手動(dòng)綁定事件,如果沒(méi)有阻止瀏覽器的默認(rèn)事件,則在第一個(gè)表單上觸發(fā),提交表單。 Form 模塊處理的是表單提交。表單提交包含兩部分,一部分是格式化表單數(shù)據(jù),另一部分是觸發(fā) submit 事件,提交表單。 讀 Zepto 源碼系列文章已...
摘要:的模塊用來(lái)獲取節(jié)點(diǎn)中的屬性的數(shù)據(jù),和儲(chǔ)存跟相關(guān)的數(shù)據(jù)。獲取節(jié)點(diǎn)指定的緩存值。如果存在,則刪除指定的數(shù)據(jù),否則將緩存的數(shù)據(jù)全部刪除。為所有下級(jí)節(jié)點(diǎn),如果為方法,則節(jié)點(diǎn)自身也是要被移除的,所以需要將自身也加入到節(jié)點(diǎn)中。 Zepto 的 Data 模塊用來(lái)獲取 DOM 節(jié)點(diǎn)中的 data-* 屬性的數(shù)據(jù),和儲(chǔ)存跟 DOM 相關(guān)的數(shù)據(jù)。 讀 Zepto 源碼系列文章已經(jīng)放到了github上,歡...
摘要:模塊基于上的事件的封裝,利用屬性,封裝出系列事件。這個(gè)判斷需要引入設(shè)備偵測(cè)模塊。然后是監(jiān)測(cè)事件,根據(jù)這三個(gè)事件,可以組合出和事件。其中變量對(duì)象和模塊中的對(duì)象的作用差不多,可以先看看讀源碼之模塊對(duì)模塊的分析。 Gesture 模塊基于 IOS 上的 Gesture 事件的封裝,利用 scale 屬性,封裝出 pinch 系列事件。 讀 Zepto 源碼系列文章已經(jīng)放到了github上,歡...
摘要:所以模塊依賴于模塊,在引入前必須引入模塊。原有的方法分析見(jiàn)讀源碼之樣式操作方法首先調(diào)用原有的方法,將元素顯示出來(lái),這是實(shí)現(xiàn)動(dòng)畫的基本條件。如果沒(méi)有傳遞,或者為值,則表示不需要?jiǎng)赢嫞{(diào)用原有的方法即可。 fx 模塊提供了 animate 動(dòng)畫方法,fx_methods 利用 animate 方法,提供一些常用的動(dòng)畫方法。所以 fx_methods 模塊依賴于 fx 模塊,在引入 fx_m...
閱讀 3237·2021-11-24 09:39
閱讀 3166·2021-10-21 09:38
閱讀 2404·2019-08-29 15:28
閱讀 3743·2019-08-26 12:23
閱讀 2622·2019-08-26 12:19
閱讀 1366·2019-08-23 12:44
閱讀 2133·2019-08-23 12:02
閱讀 1006·2019-08-22 17:05