" />
這是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é)的內容是基于 Scott Gonzalez 一篇博客 Building Stateful jQuery Plugins(已獲作者許可)
雖然大多數(shù)的 jQuery 插件都是無狀態(tài)的(stateless),也就是說, 與插件進行交互的就限于調用插件時的那一組對象, 但是有好大一部分功能需求沒辦法通過這種簡單的插件模式來實現(xiàn)。
為了填補這一空白,jQuery UI 實現(xiàn)一套更加先進的插件系統(tǒng)。 它可以管理狀態(tài),允許通過一個插件暴露多個函數(shù),并提供多個擴展點。 這套系統(tǒng)被稱為 widget factory,對應jQuery.widget, 也是 jQuery UI 1.8 的一部分。不過,它是可以獨立于 jQuery UI 使用的。
jquery.ui.widget.js是我們首先創(chuàng)建一個只能設置一次的進度條。 下面是實現(xiàn)代碼,使用 jQuery.widget 創(chuàng)建一個插件。 它接受兩個參數(shù),插件名字和帶有具體實現(xiàn)方法的對象。 當插件被調用時,它會創(chuàng)建一個新的插件實例,而插件方法的執(zhí)行對象也就是那個實例。 這與標準 jQuery 插件實現(xiàn)有兩點是很不一樣的。一是,執(zhí)行者是對象而不是 DOM 元素; 二是,執(zhí)行者永遠是單個對象,而不是元素集。
最近在做一個項目的時候,要實現(xiàn)動態(tài)渲染彈出框的樣式,所以用到widget編寫插件。學習一下。
使用Jquery ui 的widget來寫插件,比較以實現(xiàn),因為widget已經(jīng)實現(xiàn)了一些基本的方法,如_create(),destroy(),其次是踏實單例的。