基本事件模型
文章推薦指數: 80 %
在事件標準化之前,就存在於各瀏覽器的一個事件模型,稱為基本事件模型(Basic Event Model),雖然沒有標準化,但因相對(於DOM Level 2事件與Internet Explorer事件模型 ...
回JavaScript
網頁應用程式本身就是事件驅動,透過使用者的操作或系統的事件,在適當的時候作些事情。
在事件標準化之前,就存在於各瀏覽器的一個事件模型,稱為基本事件模型(BasicEventModel),雖然沒有標準化,但因相對(於DOMLevel2事件與InternetExplorer事件模型)來說,有比較跨瀏覽器的一致性,因此是大多數人最熟悉且最常用的事件模型。
在基本事件模型中,要在某個事件發生時,呼叫指定的函式,是將函式指定給某個特性。
例如,要在網頁文件準備好,所有資源都載入後作些事情,可以註冊window的load事件,方式就是將函式指定給window.onload特性,這是至今的範例都看到的:
window.onload=function(){
//onload事件發生時要作的事...
};
例如,要在按鈕的click事件發生時作些事,可以指定函式給按鈕元素的onclick特性。
BasicEventModel-1.html
在這個例子中,當你按下按鈕時而呼叫函式時,this就參考至當時按下的按鈕。
像以上的作法,稱之為傳統模型(Traditionalmodel)或傳統註冊模型(Traditionalregistrationmodel)。
儘管現在已不建議接下來的作法,但在過去開發的網頁程式中經常看到的作法就是,在標籤的屬性上撰寫JavaScript作為觸發事件時要執行的程式,這樣的作法稱之為行內模型(Inlinemodel)或行內註冊模型(Inlineregistrationmodel)。
例如: BasicEventModel-2.html
在上例中,並非直接指定click事件的處理器函式,事實上,在標籤上指定程式碼的作法,會自動建立匿名函式,也就是說,上例相當於: document.getElementById('btn1').onclick=function(){ handle(this); }; 你指定的程式碼,會成為匿名函式的本體內容,這也說明了上例中,this其實就是指觸發事件時的元素。
有些事件觸發時會有預設的動作,例如表單的submit事件預設會發送表單,超鏈結的click事件預設會連結至指定網頁。
在基本事件模型中,若要取消預設事件動作,可以讓事件處理器傳回false。
例如: BasicEventModel-3.html
若是使用行內模型。
就會看到這種作法: BasicEventModel-4.html
例如可以呼叫表單元素的submit()方法,如果在載入頁面時,想要讓第一個輸入欄位取得焦點,可以呼叫輸入欄位元素的focus()方法等。
例如,如果某個輸入欄位id為user,則可以如下在載入後讓該欄位取得焦點: window.onload=function(){ document.getElementById('test').focus(); };
延伸文章資訊
- 1基本事件:在機率論中 - 中文百科知識
在機率理論中,基本事件(也稱為原子事件或簡單事件)是一個僅在樣本空間中單個結果的事件。使用集合理論術語,一個基本事件是一個單例。 基本事件及其相應的結果通常可以 ...
- 2基本事件- 維基百科,自由嘅百科全書
基本事件(elementary event)喺概率論上係指淨係包含一個可能結果嘅事件。 寫緊, 呢篇基本事件係關於數學嘅楔位文章,重未完成嘅。麻煩你幫手補充佢嘅內容。
- 3基本事件 - 華人百科
在試驗中可直接觀察到的、最基本的不能再分解的結果稱為基本事件。中文名稱基本事件應 用概率計算特 點任何兩個基本事件是互斥的解 釋每一種可能的出現情況.
- 4樣本空間與事件
(1) 簡單事件(simple event): 又稱基本事件, 表事件只包含一個樣本點. (2) 複合事件(composite event): 事件含有兩個或兩個以上之樣本點. 如投擲一公正的骰...
- 5簡介,基本事件的機率,特點 - 中文百科全書
在機率理論中,基本事件(也稱為原子事件或簡單事件)是一個僅在樣本空間中單個結果的事件。使用集合理論術語,一個基本事件是一個單例。 基本事件及其相應的結果通常可以 ...