HTML DOM - 事件



HTML DOM 允許 JavaScript 對 HTML 事件做出反應。


對事件反應

當事件發生時,可以執行 JavaScript,例如當使用者點擊一個 HTML 元素時。

如需在使用者點選某個元素時執行程式碼,請將JavaScript 程式碼加入HTML 事件屬性:

onclick=JavaScript

HTML 事件的範例:

  • 當使用者點擊滑鼠時

  • 當網頁已載入時

  • 當圖片已載入時

  • 當滑鼠移到元素上時

  • 當輸入欄位被改變時

  • 當HTML 表單被提交時

  • 當使用者觸發按鍵時

在本例中,當使用者點選時,會改變<h1> 元素的內容:

#實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>

<h1 onclick="this.innerHTML='Ooops!'">点击文本!</h1>

</body>
</html>

執行實例»

#點擊"運行實例" 按鈕查看線上實例

在本例中,會從事件處理程序中呼叫函數:

實例

<!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)">点击文本!</h1>

</body>
</html>

運行實例»

點擊"運行實例"按鈕查看線上實例


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>

運行實例»

點擊"運行實例" 按鈕查看線上實例

在上面的範例中,當點擊按鈕時,會執行名為displayDate 的函數。


使用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>

運行實例»

點擊"運行實例" 按鈕查看線上實例

在上面的範例中,名為displayDate 的函數被指派給了id=myButn" 的HTML 元素。

當按鈕被點擊時,將執行函數。


##onload 和onunload 事件

當使用者進入或離開頁面時,會觸發onload 和onunload 事件。

onload 事件可用來檢查訪客的瀏覽器類型和版本,以便基於這些資訊來載入不同版本的網頁。於處理cookies。

#


onchange 事件

onchange 事件常用於輸入欄位的驗證。

下面的範例展示如何使用 onchange。當使用者改變輸入欄位的內容時,將會呼叫 upperCase() 函數。

實例

<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>

運行實例»

點擊"運行實例" 按鈕查看線上實例


onmouseover 和onmouseout 事件

onmouseover 和onmouseout 事件可用於在滑鼠指標移動到或離開元素時觸發函數。

實例

<!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>当你离开输入框后,函数将被触发,将小写字母转为大写字母。</p>

</body>
</html>

運行實例»

點擊"運行實例" 按鈕查看線上實例


onmousedown、onmouseup 以及onclick 事件

onmousedown、onmouseup 以及onclick 事件是滑鼠點擊的整個過程。首先當某個滑鼠按鈕被點擊時,觸發 onmousedown 事件,然後,當滑鼠按鈕被放開時,會觸發 onmouseup 事件,最後,當滑鼠點擊完成時,觸發 onclick 事件。

實例

<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>

運行實例»

點擊"運行實例" 按鈕查看線上實例


HTML DOM 事件物件參考手冊

如需每個事件的完整描述和例子,請造訪我們的HTML DOM 參考手冊。