" />
這是jquery.ui.widget.js下載,Learn how Command Query Responsibility Segregation represents a shift from more classic, three-tier application architecture toward a message-based, asynchronous pattern.
jquery.ui.widget.js是這一章節(jié)的內(nèi)容是基于 Scott Gonzalez 一篇博客 Building Stateful jQuery Plugins(已獲作者許可)
雖然大多數(shù)的 jQuery 插件都是無(wú)狀態(tài)的(stateless),也就是說(shuō), 與插件進(jìn)行交互的就限于調(diào)用插件時(shí)的那一組對(duì)象, 但是有好大一部分功能需求沒(méi)辦法通過(guò)這種簡(jiǎn)單的插件模式來(lái)實(shí)現(xiàn)。
為了填補(bǔ)這一空白,jQuery UI 實(shí)現(xiàn)一套更加先進(jìn)的插件系統(tǒng)。 它可以管理狀態(tài),允許通過(guò)一個(gè)插件暴露多個(gè)函數(shù),并提供多個(gè)擴(kuò)展點(diǎn)。 這套系統(tǒng)被稱(chēng)為 widget factory,對(duì)應(yīng)jQuery.widget, 也是 jQuery UI 1.8 的一部分。不過(guò),它是可以獨(dú)立于 jQuery UI 使用的。
jquery.ui.widget.js是我們首先創(chuàng)建一個(gè)只能設(shè)置一次的進(jìn)度條。 下面是實(shí)現(xiàn)代碼,使用 jQuery.widget 創(chuàng)建一個(gè)插件。 它接受兩個(gè)參數(shù),插件名字和帶有具體實(shí)現(xiàn)方法的對(duì)象。 當(dāng)插件被調(diào)用時(shí),它會(huì)創(chuàng)建一個(gè)新的插件實(shí)例,而插件方法的執(zhí)行對(duì)象也就是那個(gè)實(shí)例。 這與標(biāo)準(zhǔn) jQuery 插件實(shí)現(xiàn)有兩點(diǎn)是很不一樣的。一是,執(zhí)行者是對(duì)象而不是 DOM 元素; 二是,執(zhí)行者永遠(yuǎn)是單個(gè)對(duì)象,而不是元素集。
最近在做一個(gè)項(xiàng)目的時(shí)候,要實(shí)現(xiàn)動(dòng)態(tài)渲染彈出框的樣式,所以用到widget編寫(xiě)插件。學(xué)習(xí)一下。
使用Jquery ui 的widget來(lái)寫(xiě)插件,比較以實(shí)現(xiàn),因?yàn)閣idget已經(jīng)實(shí)現(xiàn)了一些基本的方法,如_create(),destroy(),其次是踏實(shí)單例的。