JavaScript 事件
為JavaScript在瀏覽器中以單線程模式運(yùn)行,頁面加載后,一旦頁面上所有的JavaScript代碼被執(zhí)行完后,就只能依賴觸發(fā)事件來執(zhí)行JavaScript代碼。
瀏覽器在接收到用戶的鼠標(biāo)或鍵盤輸入后,會(huì)自動(dòng)在對(duì)應(yīng)的DOM節(jié)點(diǎn)上觸發(fā)相應(yīng)的事件。如果該節(jié)點(diǎn)已經(jīng)綁定了對(duì)應(yīng)的JavaScript處理函數(shù),該函數(shù)就會(huì)自動(dòng)調(diào)用。
JavaScript 事件
網(wǎng)頁中能被 JavaScript 偵測到的行為稱為 JavaScript 事件。以下是一些常見的 JavaScript 事件舉例:
1. 頁面內(nèi)容被瀏覽器載入
2. 用戶點(diǎn)擊一個(gè)按鈕
3. 用戶按下某個(gè)按鍵
事件通常和?JavaScript 函數(shù)一起配合使用,即以事件驅(qū)動(dòng)函數(shù),來完成我們希望的某些功能。
常見的HTML事件
下面是一些常見的HTML事件的列表:
事件 ? ? ? ? ?描述
onchange ? ?HTML 元素改變 ? ?
onclick ? ?用戶點(diǎn)擊 HTML 元素 ? ?
onmouseover ? ?用戶在一個(gè)HTML元素上移動(dòng)鼠標(biāo) ? ?
onmouseout ? ?用戶從一個(gè)HTML元素上移開鼠標(biāo) ? ?
onkeydown ? ?用戶按下鍵盤按鍵 ? ?
onload ? ?瀏覽器已完成頁面的加載 ? ?
onclick 事件
當(dāng)鼠標(biāo)點(diǎn)擊頁面上某個(gè)對(duì)象時(shí),會(huì)觸發(fā) onclick 事件,如下例子所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script type="text/javascript"> function hello(){ var name = document.getElementById("name").value; if( name == "") { alert("請(qǐng)輸入你的姓名!"); return false; } else { alert(name + ",你好!"); } } </script> </head> <body> 姓名:<input type="text" id="name" /> <input type="button" onclick="hello()" value="確定" /> </body> </html>
在上面的例子中,對(duì)確定按鈕設(shè)定了 onclick 事件屬性,其值為 "hello()" JavaScript 函數(shù),也即當(dāng)點(diǎn)擊按鈕時(shí),執(zhí)行 hello 函數(shù)。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <button onclick="displayDate()">點(diǎn)這里</button> <script> function displayDate(){ document.getElementById("demo").innerHTML=Date(); } </script> <p id="demo"></p> </body> </html>
JavaScript 可以做什么?
事件可以用于處理表單驗(yàn)證,用戶輸入,用戶行為及瀏覽器動(dòng)作:
頁面加載時(shí)觸發(fā)事件頁面關(guān)閉時(shí)觸發(fā)事件用戶點(diǎn)擊按鈕執(zhí)行動(dòng)作驗(yàn)證用戶輸入內(nèi)容的合法性等等 ...
可以使用多種方法來執(zhí)行 JavaScript 事件代碼:
HTML 事件屬性可以直接執(zhí)行 JavaScript 代碼
HTML 事件屬性可以調(diào)用 JavaScript 函數(shù)你可以為?
HTML 元素指定自己的事件處理程序
你可以阻止事件的發(fā)生。
等等 ...