五 、 JavaScript 事件和對象
目標 :
應掌握以下內容:
????????? 理解事件驅動機制
????????? 會使用常用的事件觸發機制,如: Click 、 OnChange 等事件
關鍵知識點:
????????? 會使用常用的事件觸發機制,如: Click 、 OnChange 等事件
????????? 常用對象處理語句: this 、 for…in 、 with 和 new 。
????????? JavaScript 內置對象:時間對象, Math 對象、 String 對象和數組對象
????????? JavaScript 常用函數
5.1 事件的概念
HTML 規范中常用的標記非常簡單,這是 HTML 語言的一個特點,但同時也是它的功能受到很大的限制。事件是瀏覽器相應用戶交互操作的一種機制。當然,任何程序包括瀏覽器本身都有一套已經設計好的相應各種事件的方法。 JavaScript 的事件處理機制就可以改變瀏覽器響應用戶操作的標準方法,這樣就可以開發出更加具有交互性,更容易使用的 Web 頁面。
為什么要利用 JavaScript 的事件呢?主要有下面的兩個用途:
1 .驗證用戶輸入窗體的數據。
2 .增加頁面的動感效果。
一個利用 JavaScript 實現交互功能的 WEB 網頁總是擁有三個部分的內容:
l???????? 在 Head 部分定義一些 JavaScript 函數,其中的一些可能是事件處理函數,另外一些可能是為了配合這些事件處理函數而編寫的普通函數。
l???????? HTML 本身的各種控制標記。
l???????? 擁有句柄屬性的 HTML 標記,主要涉及到一些界面元素。這些元素可以把 HTML 同 JavaScript 代碼相連。
為了理解 JavaScript 的事件處理模型,可以設想一下在一個 WEB 頁面可能會遇到怎樣的用戶相應。歸納起來,必須使用的事件主要有三大類:
一類是引起頁面之間跳轉的事件,主要是超級連接事件。再一類是瀏覽器自己引起的事件,例如網頁的裝載,表單的提交等等。另一類事件是在表單內部同界面對象的交互,包括界面對象的選定、改變等。可以按照應用程序的具體功能自由設計。
5.2 JAVASCRIPT 事件驅動
JavaScript 事件主要包括三大類的事件:超級連接的事件,瀏覽器的事件和界面事件。超級連接事件包括: Click , MouseOut , MouseOver , MouseDown , MouseUp 事件。瀏覽器事件主要包括:各種元素 Load, Unload 等等。下面我們主要介紹一些常用的事件的處理。
鼠標單擊事件是最最常見得事件,我們只要寫 JavaScript 程序都會用到單擊事件。語法非常的簡單:
onclick=
函數或是處理語句
請看下面的案例:
案例名稱:單擊事件
程序: 5-1.htm
<html>
<body>
<form>
<Input type="button" Value="
鼠標響應
" onClick=alert("
這是一個例子
")>
</form>
</body>
</html>
當鼠標單擊按鈕的時候,自動彈出一個
alert
對話框,顯示的結果如圖
5-1
所示。
?
圖 5-1 單擊事件
所謂的 onchange 事件就是當文本框的內容改變的時候,發生的事件。語法和剛才的 Onclick 事件比較的類似:
onchange=
處理函數或是處理語句
請看我們下面的 onchange 事件:
案例名稱:
onchange
事件
程序: 5-13.htm
<html>
<body>
<form>
<Input type="text" name="Test" value="Test" onChange=alert("TextBox
值發生了變化!
")>
</form>
</body>
</html>
當文本框的內容發生改變的時候,就回自動彈出一個 Alert 框,顯示的結果如圖 5-2 所示。
圖
5-2 onchange
事件
所謂的 onselect 事件就是當文本框的內容被選中的時候,發生的事件。語法和剛才的 Onclick 事件比較的類似:
onselect=
處理函數或是處理語句
請看我們下面的 onselect 事件:
案例名稱:
onselect
事件
程序: 5-2.htm
<html>
<body>
<form>
<Input type="text" name="Test" value="Test" onSelect=alert("
我被選中了!
")>
</form>
</body>
</html>
當文本框中內容被選中的時候就會自動彈出對話框,顯示的結果如圖 5-3 所示。
圖 5-3 onselect 事件
可以看出當文本框的內容
test
被選中的時候,
onselect
事件就被觸發了。
5.2.4
所謂的 onfocus 事件就是當光標落在文本框中的時候,發生的事件。語法和剛才的 Onclick 事件比較的類似:
onfocus=
處理函數或是處理語句
請看我們下面的 onfocus 事件:
案例名稱: onfocus 事件
程序: 5-3.htm
<html>
<body>
<form>
<Input type="text" name="Test1" value="Test1" onFocus=alert("Test1 成為了輸入焦點! ")>
<br>
<Input type="text" name="Test2" value="Test2" onFocus=alert("Test2 成為了輸入焦點! ")>
</form>
</body>
</html>
當我們用鼠標選中一個文本框的時候,觸發 Onfocus 事件,彈出一個對話框。顯示的結果如圖 5-4 所示。
圖
5-4 Onfocus
事件