ColorZilla:如果網頁上有你喜歡的顏色,ColorZilla會找到其精確值,你就可以粘貼到代碼程序里了。還能根據內建的調色板來產生自定義的顏色。它還保存經常使用的顏色,方便隨后使用。強大、簡單,必不可少。
CSS Validator:CSS Validator在瀏覽器增加一個右擊選項,以發送CSS到W3C CSS Validator。它在新開的標簽(tab)里顯示結果。CSS Validator是個好工具,遲早用得著。
CSSViewer:沒有web設計師應該不使用CSSViewer。該插件告訴你所需要的關于某個站點的所有CSS信息。僅僅單擊頁面,打開工具菜單,它就顯示了CSS信息。我幾乎天天用。
FireBug:FireBug是那些不可或缺的擴展之一。它允許你編輯、debug、查看CSS、HTML和JavaScript。一旦你修改了站點的HTML,FireBug會自動在同一個窗戶顯示。非常強大。
FirePHP:FireBug是面向CSS、HTML和JavaScript的好工具,而FirePHP,僅在你已安裝FireBug擴展之后,會產生具有豐富功能的開發體驗。你可以查看PHP的質量、排錯。很有幫助。
Font Finder:它可以高亮任意站點上的字體,在選擇區域右擊,選擇“Font Finder”,以查看選擇部分整個CSS文本樣式。然后你就能粘貼到自己的網頁里。
HTML Validator:功能非常強大,僅windows用戶使用。它把網頁的錯誤反饋給你。它還告訴你問題出在哪里。但是,如果你不是一個高級的web設計師,還是遠離它。太過復雜。
IE View:只要你在使用windows,IE Viewer就是有用的工具。它在右鍵菜單里增加了“Open in IE”選項,從而快速地在Internet Explorer里打開網址。它還可以對比一個網頁在兩個瀏覽器里的樣子。
Java Console:如果你想知道Java applets如何在網頁上運行,Java Console就適合你。你可以監視、調試applets,并獲得一份有關性能的完整報告。
LinkChecker:高亮任何網站的鏈接,告訴你該鏈接把你帶到一個可用的站點,否則將返回404.我天天用。
Poster:如果你想調試服務器,發出HTTP請求,Poster就是最佳工具。操作簡單,你先設定一個內容類型,數分鐘內,你將擁有需要檢視HTTP請求結果的所有信息。適用。
Style Sheet Chooser II:它取代FireFox內建的樣式單選擇器,讓你選用不同的樣式,并持續應用整個網站。它不經常被用到,但是,某些工作還是需要它的。
Web Developer:如果你安裝了這里提到的任何擴展,Web Development也應當包括在內。它給Firefox增加了一個菜單和工具條,你可以選擇顯示網頁的樣式,查看或編輯CSS等等。Web開發者必不可少。
YSlow:需要安裝了FireBug,它可以找到網站速度慢的原因。它根據《》分析網頁,并返回使網站變慢的因素。我經常讓它幫我找到如何提高網站速度。試試看。
<html><body>{success:true}</body></html>
1. 處理HTML元素的標準事件
HTML元素的標準事件是指mouseover、mousedown、click、 blur、focus、change等。在ExtJS中,這些事件的處理如下:
ExtJS 會根據不同的瀏覽器進行相應的處理,支持多瀏覽器。事件處理函數的參數只能參考ExtJS的文檔了,必要時還得參考源代碼。
2. 處理自定義事件
在ExtJS中使用自定義事件,需要從Ext.util.Observable繼承,示例代碼如下:
Employee = function(name){ this.name = name; this.addEvents({ "fired" : true, "quit" : true }); } Ext.extend(Employee, Ext.util.Observable, { ... });
在這段代碼中,定義了一個Employee類,定義了fired和quit兩個事件。如何觸發這兩個事件呢,基類 Ext.util.Observable提供了觸發自定義事件的方法fireEvent(eventName, arg1, arg2, ... argn), eventName是要觸發的時間的名稱(不區分大小寫),后面的參數arg1,arg2等是要傳給事件處理函數的參數。用上面的Employee類做示 例,觸發quit事件:
this.fireEvent('quit', this);
這行代碼將觸發quit事件,并將Empolyee類的實例傳給quit事件的處理函數,quit事件的訂閱可以采用如下代碼:
function myHandler1(empolyee){ ... } function myHandler2(empolyee){ ... } var emp = new Empolyee('tom'); emp.on('quit', myHandler1); emp.on('quit', myHandler2);
在上面的代碼中,為quit事件注冊了兩個處理函數(myHandler1與myHandler),當quit事件被激發時,將會依次調用 myHandler1和myHandler2兩個函數。
值得注意的是,不管是HTML元素的標準事件還是自定義事件,如果為某個時間注冊了多個處理函數,如前面的例子,如果myHandler1返回 false的話,則會取消在myHandler1之后注冊的處理函數的執行,即該事件被取消,從而停止繼續執行該事件的處理函數,而這個返回值false 會作為事件激發的結果,返回給empolyee,即:
var result = this.fireEvent('quit', this); if (result === false) { alert('event canceled'); //這里表示事件被某個處理函數取消 } else { alert('event complete'); // 這里表示事件執行完畢 }
通過Ext的自定義事件的機制,可以實現一對多的觀察者模式,也可以實現一對一的綁定模式,這一點,在ExtJS的開發中是很重要的。