Jquery ui 提供了一些基本的widget,但是他提供了很好的機制來創(chuàng)建widget。在jquery css framework中包含了基本的css樣式(視覺和感覺諸如顏色,字體大小,圖標(biāo)等),而在ui的css中,則需要定義構(gòu)建widget結(jié)構(gòu)的css,比如margin,padding,position等。在開發(fā)widget的時候也要盡量遵循這一原則,這樣才能很好的利用jquery theme roller來應(yīng)用樣式,從而在整體上保持一致,在前面的文章中簡單的 介紹了jquery css framework。下面就簡單的介紹下jquery ui 的開發(fā)指引 Jquery的官方文檔中對此寫的很清晰。一般來說,jquery ui都是繼承自jquery.ui.widget.js這個文件的。這個文件提供了一個工廠方法來創(chuàng)建widget對象。其方法是$.widget(String name, Options prototype).下面簡單介紹下這個類提供的方法和屬性。在創(chuàng)建widget的時候?qū)⒅貙戇@些。 destroy():將widget實例從dom對象上移除,在開發(fā)widget的時候一般此方法是必須的。就是移除你自己在dom element上添加的樣式和行為以及dom結(jié)構(gòu) options:在這里面保存的是widget的配置信息,在創(chuàng)建widget的時候需要設(shè)置一些配置參數(shù)。 element:就是widget作用的dom對象。 enable()和disable()這兩個方法就是禁用和啟用widget的。其實是修改options.disabled。 還有兩個私有方法是創(chuàng)建widget的時候要重寫的。 _create() 這個方法就是創(chuàng)建widget的方法,在頁面調(diào)用widget的時候,就會執(zhí)行此方法,來構(gòu)建widget。Widget的絕大大多數(shù)行為和結(jié)構(gòu)都是在這里創(chuàng)建的。 _init() 這個方法大多數(shù)時候不會被重寫,這個方法在構(gòu)建widget的時候在_create后執(zhí)行。從相關(guān)的文檔上查詢到: _create()方法在widget構(gòu)建的時候執(zhí)行,而_init()方法在構(gòu)建和重新初始化的時候執(zhí)行。而destroy方法則是在移除widget的時候被執(zhí)行。在widget中,所有的私有方法都將加以"_"前綴 _setOption():此方法提供了options的屬性的設(shè)置,一般情況下如果options里面的參數(shù)不需要特殊處理(校驗,類型轉(zhuǎn)換,以及設(shè)置屬性的時候觸發(fā)某一操作等)的時候不需要對此方法進行重寫 事件 如果有自定義的事件,可以采用widget為我們封裝好的方法來處理_trigger()這個方法來處理,其調(diào)用方法 this._trigger(type, event, data),第一個參數(shù)為時間類型,第二個參數(shù)為事件event對象,第三個參數(shù)為事件要傳遞的參數(shù)。 接下來會寫一個簡單的jquery ui widget來說明如何開發(fā)widget |
|