HTML DOM - 事件
HTML DOM 允許 JavaScript 對 HTML 事件作出反應(yīng)。
對事件作出反應(yīng)
當(dāng)事件發(fā)生時,可以執(zhí)行 JavaScript,比如當(dāng)用戶點(diǎn)擊一個 HTML 元素時。
如需在用戶點(diǎn)擊某個元素時執(zhí)行代碼,請把 JavaScript 代碼添加到 HTML 事件屬性中:
HTML 事件的例子:
當(dāng)用戶點(diǎn)擊鼠標(biāo)時
當(dāng)網(wǎng)頁已加載時
當(dāng)圖片已加載時
當(dāng)鼠標(biāo)移動到元素上時
當(dāng)輸入字段被改變時
當(dāng) HTML 表單被提交時
當(dāng)用戶觸發(fā)按鍵時
在本例中,當(dāng)用戶點(diǎn)擊時,會改變 <h1> 元素的內(nèi)容:
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <h1 onclick="this.innerHTML='Ooops!'">點(diǎn)擊文本!</h1> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
在本例中,會從事件處理程序中調(diào)用函數(shù):
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <head> <script> function changetext(id){ id.innerHTML="Ooops!"; } </script> </head> <body> <h1 onclick="changetext(this)">點(diǎn)擊文本!</h1> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
HTML 事件屬性
如需向 HTML 元素分配事件,您可以使用事件屬性。
實例
<!DOCTYPE html> <html> <html> <body> <p>Click the button to execute the <em>displayDate()</em> function.</p> <button onclick="displayDate()">Try it</button> <script> function displayDate() { document.getElementById("demo").innerHTML=Date(); } </script> <p id="demo"></p> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
在上面的例子中,當(dāng)點(diǎn)擊按鈕時,會執(zhí)行名為 displayDate 的函數(shù)。
使用 HTML DOM 來分配事件
HTML DOM 允許您使用 JavaScript 向 HTML 元素分配事件:
實例
<html><!DOCTYPE html> <html> <head> </head> <body> <p>Click the button to execute the <em>displayDate()</em> function.</p> <button id="myBtn">Try it</button> <script> document.getElementById("myBtn").onclick=function(){displayDate()}; function displayDate() { document.getElementById("demo").innerHTML=Date(); } </script> <p id="demo"></p> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
在上面的例子中,名為 displayDate 的函數(shù)被分配給了 id=myButn" 的 HTML 元素。
當(dāng)按鈕被點(diǎn)擊時,將執(zhí)行函數(shù)。
onload 和 onunload 事件
當(dāng)用戶進(jìn)入或離開頁面時,會觸發(fā) onload 和 onunload 事件。
onload 事件可用于檢查訪客的瀏覽器類型和版本,以便基于這些信息來加載不同版本的網(wǎng)頁。
onload 和 onunload 事件可用于處理 cookies。
實例
<html><!DOCTYPE html> <html> <body onload="checkCookies()"> <script> function checkCookies() { if (navigator.cookieEnabled==true) { alert("Cookies are enabled") } else { alert("Cookies are not enabled") } } </script> <p>An alert box should tell you if your browser has enabled cookies or not.</p> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
onchange 事件
onchange 事件常用于輸入字段的驗證。
下面的例子展示了如何使用 onchange。當(dāng)用戶改變輸入字段的內(nèi)容時,將調(diào)用 upperCase() 函數(shù)。
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <head> <script> function myFunction(){ var x=document.getElementById("fname"); x.value=x.value.toUpperCase(); } </script> </head> <body> 輸入你的名字: <input type="text" id="fname" onchange="myFunction()"> <p>當(dāng)你離開輸入框后,函數(shù)將被觸發(fā),將小寫字母轉(zhuǎn)為大寫字母。</p> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
onmouseover 和 onmouseout 事件
onmouseover 和 onmouseout 事件可用于在鼠標(biāo)指針移動到或離開元素時觸發(fā)函數(shù)。
實例
<html><!DOCTYPE html> <html> <body> <div onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:#D94A38;width:120px;height:20px;padding:40px;">Mouse Over Me</div> <script> function mOver(obj) { obj.innerHTML="Thank You" } function mOut(obj) { obj.innerHTML="Mouse Over Me" } </script> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
onmousedown、onmouseup 以及 onclick 事件
onmousedown、onmouseup 以及 onclick 事件是鼠標(biāo)點(diǎn)擊的全部過程。首先當(dāng)某個鼠標(biāo)按鈕被點(diǎn)擊時,觸發(fā) onmousedown 事件,然后,當(dāng)鼠標(biāo)按鈕被松開時,會觸發(fā) onmouseup 事件,最后,當(dāng)鼠標(biāo)點(diǎn)擊完成時,觸發(fā) onclick 事件。
實例
<html><!DOCTYPE html> <html> <body> <div onmousedown="mDown(this)" onmouseup="mUp(this)" style="background-color:#D94A38;width:90px;height:20px;padding:40px;">Click Me</div> <script> function mDown(obj) { obj.style.backgroundColor="#1ec5e5"; obj.innerHTML="Release Me" } function mUp(obj) { obj.style.backgroundColor="#D94A38"; obj.innerHTML="Thank You" } </script> </body> </html>
運(yùn)行實例 ?
點(diǎn)擊 "運(yùn)行實例" 按鈕查看在線實例
HTML DOM 事件對象參考手冊
如需每個事件的完整描述和例子,請訪問我們的 HTML DOM 參考手冊。