在微軟IE5.0版本的瀏覽器發布以前,網頁編程中面對的最大挑戰就是不能輕易地創建組件,以達到代碼重用和多頁面共享的目的。這個問題一直困擾著DHTML(動態HEML)的網頁編程者。他們只能不斷地重複書寫HTML、CSS和javascript的代碼,以滿足多個頁面上的重複或相似的功能。自IE5.0瀏覽器發布後,這種情況得到了改善,它帶給我們一個新的指令組合方法,可把實現特定功能的代碼封裝在一個組件內,從而實現多頁面的代碼重用,使網頁編程進入一個全新的天地。這個新的技術就是我們要談到的DHTML中的“行為”(Behaviors)。
“行為”作為一個簡單易用的組件,它封裝了頁面上特定的功能或動作。當把一個“行為”附到WEB頁面中的一個元件上時,這個元件的原有行為就會有所改變。因此,網頁編程者可以開發通用的DHTML指令,並改變原有對象的一些屬性,用“行為”來增強一個對象的功能,同時也簡化了頁面的HTML代碼。而且“行為”的創建和使用也非常簡單方便,所需的知識也只是原來已經習慣使用的CSS樣式表、HTML指令和javascript腳本語言。只要你對此有所了解,有過實際編程的經歷,學習並掌握“行為”的使用完全沒有問題。我們將以一個改變字體效果的“行為”組件為例來說明如何編寫和使用一個“行為”,並體驗“行為”給頁面編輯帶來的優點和方便之處。
首先新建一個名為font_efftce.htc的文本文件,組成“行為”組件的文件都是以.htc為擴展名,這個文件中的內容就是我們對這個“行為”的描述。它的創建和使用步驟如下:
(1)首先給這個“行為”增加幾個事件響應,語句書寫格式如下:
<PUBLIC:ATTACHEVENT="onmouseover"ONEVENT="glowit()"/>
<PUBLIC:ATTACHEVENT="onmouseout"ONEVENT="noglow()"/>
<PUBLIC:ATTACHEVENT="onmousedown"ONEVENT="font2yellow()"/>
<PUBLIC:ATTACHEVENT="onmouseup"ONEVENT="font2blue()"/>
“EVENT”對應所需事件名,在這里分別為:onmouseover,onmouseout,onmousedown,onmouseup四個事件名,你當然可以再增加其它的事件名來滿足你的特定需求。 “ONEVENT”對應著個自的事件句柄,即事件觸發時所調用的函數名稱。 glowit()函數使字體周圍產生一個紅色的輝光。 noglow()函數是消除字體的輝光效果。 Font2yellow()函數是把字體顏色改為黃色。 Font2blue()函數是把字體顏色改為藍色。四個事件的定義都是相似的。
(2)接下來,再給這個“行為”增加二個“方法”定義,內容如下。
<PUBLIC:METHODNAME="move_down"/>
<PUBLIC:METHODNAME="move_right"/>