JavaScript處理各種事件詳解
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
:Javascript處理各種事件詳解 Javascript處理各種事件詳解圖1 大力按下電梯中的求助按鈕,維護人員就會來修理電梯 當用戶在網頁上執行移動鼠標、點擊按鈕、提交表單等操作,會觸發相應的事件,Javascript腳本可以對特定的事件進行處理,從而實現與用戶的交互。 例如當用戶點擊網頁上的按鈕,會觸發onclick事件。如圖2所示,以下代碼表明當用戶點擊add按鈕,瀏覽器會執行Javascript腳本中的add()函數:
圖2 Javascript腳本的add()函數處理onclick事件 表1列出了常用的事件,對這些事件的觸發時機作了說明。這些事件可分為三類:表單相關事件、鼠標鍵盤事件、頁面相關事件。 表1 JavaScrip腳本可以處理的事件 1. onfocus獲得焦點和onblur失去焦點事件 例程1的focus.html演示處理onfocus和onblur事件。當焦點進入網頁上的username文本輸入框,該輸入框的背景色變為綠色,當焦點離開,背景色改為白色。 例程1 focus.html
在dofocus()函數中,window.event表示當前的onfocus事件,event.srcElement表示觸發當前事件的username文本輸入框,element.style.background表示username文本輸入框的背景色。 在本范例中,dofocus()函數把username文本輸入框的背景色改為綠色,doblur()函數把背景色改為白色,參見圖3。 圖3 Javascript腳本會改變username文本框的背景顏色 2. onsubmit表單提交和onreset表單重置事件 當用戶按下表單中的提交按鈕,會觸發onsubmit事件,按下重置按鈕,會觸發onreset事件。 以下輸入框的type屬性的值分別為submit和reset,分別表示提交按鈕和重置按鈕:
以下代碼指定dosubmit()函數處理onsubmit事件,doreset()函數處理onreset事件,action屬性指定把表單提交給后端的hello.jsp處理:
例程2的form.html演示了對onsubmit事件的處理過程。當onsubmit事件觸發后,瀏覽器首先執行dosubmit()函數。接下來,瀏覽器會根據dosubmit()函數的返回值來決定是否請求訪問后端的hello.jsp。如果該函數返回true,瀏覽器就會請求訪問hello.jsp;如果該函數返回false,則不會請求訪問hello.jsp。 例程2 form.html
以上dosubmit()函數會檢查username文本輸入框,如果值為空,就提示用戶輸入username,并返回false;否則返回true。因此,只有當username文本輸入框不為空,瀏覽器才會把表單提交給后端的hello.jsp,參見圖4。 圖4 dosubmit()函數的執行流程 例程3是hello.jsp的代碼,它會讀取表單中的username輸入框的值,并把它輸出到網頁中。 例程3 hello.jsp
當用戶在form.html的表單的username輸入框中輸入weiqin,hello.jsp會返回“Hello,weiqin”,參見圖5。 圖5 后端hello.jsp處理用戶提交表單的請求 3. onclick鼠標單擊事件 當用戶單擊網頁上的按鈕、圖片等元素,會觸發onclick事件。 例程4的bgcolor.html會在網頁上顯示一個change按鈕,點擊該按鈕,網頁的背景色會在紅色與白色之間切換。document.bgColor表示網頁的背景色。 例程4 bgcolor.html
4. onmouseover鼠標移入和onmouseout鼠標移出事件 當用戶在網頁上把鼠標移入某個元素的區域,會觸發onmouseover事件,把鼠標移出某個元素的區域,會觸發onmouseout事件。例程5的opacity.html演示了對這兩種事件的處理。 例程5 opacity.html
opacity.html會顯示一張圖片,當鼠標移入該圖片區域,圖片的透明度設為1,當鼠標移出該圖片區域,透明度設為0.3,參見圖6。visible(element,n)函數中的element參數表示鼠標移入的元素或移出的元素,此處為圖片。參數n表示圖片的透明度。 圖6 圖片的透明度隨著鼠標的移入和移出發生改變 5. onkeydown按鍵事件 當用戶在網頁上按下鍵盤的鍵就會觸發onkeydown事件。例程6的box.html演示了對onkeydown事件的處理。 例程6 box.html
在dokeydown()函數中,event.keyCode表示鍵的鍵碼。每個鍵都有固定的鍵碼,例如LEFT、RIGHT、UP、DOWN鍵的鍵碼分別為37、39、38、40。 box.html會在網頁上顯示一個紅色的色塊,當按下鍵盤的LEFT、RIGHT、UP、DOWN鍵,色塊就會向相應的方向移動,參見圖7。 圖7 通過鍵盤上的方向鍵來移動色塊 6. onload頁面加載和onunload頁面卸載事件 當用戶訪問某個網頁,瀏覽器就會先加載該網頁,此時會觸發onload事件。當用戶離開網頁、刷新網頁或關閉瀏覽器時,會觸發onunload事件。 例程7的page.html在例程-5的opacity.html的基礎上,增加了對onload事件的處理。當瀏覽器加載page.html頁面時,會把頁面上圖片的透明度設為0.3。document.images[0]表示頁面上的第一個圖片。 例程7 page.html
該文章在 2023/11/18 10:06:56 編輯過 |
關鍵字查詢
相關文章
正在查詢... |