什麼是事件
JavaScript 創建動態頁面。事件是可以被 JavaScript 偵測到的行為。 網頁中的每個元素都可以產生某些可以觸發 JavaScript 函數或程序的事件。
1、鼠標單擊事件(onclick)
onclick是鼠標單擊事件,當在網頁上單擊鼠標時,就會發生該事件。同時onclick事件調用的程序塊就會被執行,通常與按鈕一起使用。
例:我們單擊按鈕時,觸發 onclick 事件,並調用兩個數和的函數add2()。
<html> <head> <script type="text/javascript"> function add2(){ var numa,numb,sum; numa=6; numb=8; sum=numa+numb; document.write("兩數和為:"+sum); } </script> </head> <body> <form> <input name="button" type="button" value="點擊提交" onclick="add2()" /> </form> </body> </html>
注意: 在網頁中,如使用事件,就在該元素中設置事件屬性。
2、鼠標經過事件(onmouseover)
鼠標經過事件,當鼠標移到一個對象上時,該對象就觸發onmouseover事件,並執行onmouseover事件調用的程序。
當鼠標經過"確定"按鈕後,調用message()函數,彈出消息對話框。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> 鼠標經過事件 </title> <script type="text/javascript"> function message(){ confirm("請輸入密碼後,再單擊確定!"); } </script> </head> <body> <form> 密碼: <input name="password" type="password" > <input name="確定" type="button" value="確定" onmouseover="message()"/> </form> </body> </html>
3、鼠標移開事件(onmouseout)
鼠標移開事件,當鼠標移開當前對象時,執行onmouseout調用的程序。
當鼠標移開"點擊我"的按鈕時,調用message()函數,彈出消息對話框。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>鼠標移開事件 </title> <script type="text/javascript"> function message(){ alert("不要移開,點擊後進行慕課網!"); } </script> </head> <body> <form> <a href="http://www.imooc.com" onmouseout="message()">點擊我</a> </form> </body> </html>
4、光標聚焦事件(onfocus)
當網頁中的對象獲得聚點時,執行onfocus調用的程序就會被執行。
當下拉列表得到焦點時,調用message()函數,就彈出對話框“"請選擇,您現在的職業!”。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> 光標聚焦事件 </title> <script type="text/javascript"> function message(){ alert("請選擇,您現在的職業!"); } </script> </head> <body> 請選擇您的職業:<br> <form> <select name="career" onfocus="message()"> <option>學生</option> <option>教師</option> <option>工程師</option> <option>演員</option> <option>會計</option> </select> </form> </body> </html>
5、失焦事件(onblur)
onblur事件與onfocus是相對事件,當光標離開當前獲得聚焦對象的時候,觸發onblur事件,同時執行被調用的程序。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> 失焦事件 </title> <script type="text/javascript"> function message(){ alert("請確定已輸入密碼後,在移開!"); } </script> </head> <body> <form> 用戶: <input name="username" type="text" value="請輸入用戶名!" > 密碼: <input name="password" type="text" value="請輸入密碼!" onblur="message()"> </form> </body> </html>
6、內容選中事件(onselect)
選中事件,當文本框或者文本域中的文字被選中時,觸發onselect事件,同時調用的程序就會被執行。
當選中個人簡介文本框中文字時,觸發onselect事件,並彈出對話框。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> 內容選中事件 </title> <script type="text/javascript"> function message(){ alert("您觸發了選中事件!"); } </script> </head> <body> <form> 個人簡介:<br> <textarea name="summary" cols="60" rows="5" onselect="message()">請寫入個人簡介,不少於200字!</textarea> </form> </body> </html>
7、文本框內容改變事件(onchange)
通過改變文本框的內容來觸發onchange事件,同時執行被調用的程序。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> 文本框內容改變事件 </title> <script type="text/javascript"> function message(){ alert("您改變了文本內容!"); } </script> </head> <body> <form> 個人簡介:<br> <textarea name="summary" cols="60" rows="5" onchange="message()">請寫入個人簡介,不少於200字!</textarea> </form> </body> </html>
8、加載事件(onload)
事件會在頁面加載完成後,立即發生,同時執行被調用的程序。
注意: 1. 加載頁面時,觸發onload事件,事件寫在<body>標簽內。
2. 此節的加載頁面,可理解為打開一個新頁面時。
如下代碼,當加載一個新頁面時,彈出對話框“加載中,請稍等…”。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> 加載事件 </title> <script type="text/javascript"> function message(){ alert("加載中,請稍等…"); } </script> </head> <body onload="message()"> 歡迎學習JavaScript。 </body> </html>
9、卸載事件(onunload)
當用戶退出頁面時(頁面關閉、頁面刷新等),觸發onUnload事件,同時執行被調用的程序。
注意:不同浏覽器對onunload事件支持不同。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> 卸載事件 </title> <script type="text/javascript"> window.onunload = onunload_message; function onunload_message(){ alert("您確定離開該網頁嗎?"); } </script> </head> <body onunload="onunload_message"> 歡迎學習JavaScript。 </body> </html>
測試結果發現只有在IE浏覽器裡執行,其他浏覽器不執行。
以上就是關於Javascript事件響應的九種狀態,希望對大家的學習有所幫助。