JavaScript HTML DOM 事件

HTML DOM 使 JavaScript 有能力對 HTML 事件做出反應。

例項

Mouse Over Me
Click Me


對事件做出反應

我們可以在事件發生時執行 JavaScript,比如當用戶在 HTML 元素上點選時。

如需在使用者點選某個元素時執行程式碼,請向一個 HTML 事件屬性新增 JavaScript 程式碼:

onclick=JavaScript

HTML 事件的例子:

  • 當用戶點選滑鼠時
  • 當網頁已載入時
  • 當影象已載入時
  • 當滑鼠移動到元素上時
  • 當輸入欄位被改變時
  • 當提交 HTML 表單時
  • 當用戶觸發按鍵時

在本例中,當用戶在 <h1> 元素上點選時,會改變其內容:

例項

<!DOCTYPE html>
<html>
<body>
<h1 onclick="this.innerHTML='Ooops!'">點選文字!</h1>
</body>
</html>

本例從事件處理器呼叫一個函式:

例項

<!DOCTYPE html>
<html>
<head>
<script>
function changetext(id)
{
    id.innerHTML="Ooops!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">點選文字!</h1>
</body>
</html>



HTML 事件屬性

如需向 HTML 元素分配 事件,您可以使用事件屬性。

例項

向 button 元素分配 onclick 事件:

<button onclick="displayDate()">點這裡</button>

嘗試一下 ?

在上面的例子中,名為 displayDate 的函式將在按鈕被點選時執行。


使用 HTML DOM 來分配事件

HTML DOM 允許您使用 JavaScript 來向 HTML 元素分配事件:

例項

向 button 元素分配 onclick 事件:

<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

嘗試一下 ?

在上面的例子中,名為 displayDate 的函式被分配給 id="myBtn" 的 HTML 元素。

按鈕點選時Javascript函式將會被執行。


onload 和 onunload 事件

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

onload 事件可用於檢測訪問者的瀏覽器型別和瀏覽器版本,並基於這些資訊來載入網頁的正確版本。

onload 和 onunload 事件可用於處理 cookie。

例項

<body onload="checkCookies()">

嘗試一下 ?


onchange 事件

onchange 事件常結合對輸入欄位的驗證來使用。

下面是一個如何使用 onchange 的例子。當用戶改變輸入欄位的內容時,會呼叫 upperCase() 函式。

例項

<input type="text" id="fname" onchange="upperCase()">



onmouseover 和 onmouseout 事件

onmouseover 和 onmouseout 事件可用於在使用者的滑鼠移至 HTML 元素上方或移出元素時觸發函式。

例項

一個簡單的 onmouseover-onmouseout 例項:

Mouse Over Me

嘗試一下 ?


onmousedown、onmouseup 以及 onclick 事件

onmousedown, onmouseup 以及 onclick 構成了滑鼠點選事件的所有部分。首先當點選滑鼠按鈕時,會觸發 onmousedown 事件,當釋放滑鼠按鈕時,會觸發 onmouseup 事件,最後,當完成滑鼠點選時,會觸發 onclick 事件。

例項

一個簡單的 onmousedown-onmouseup 例項:

Thank You


更多例項

onmousedown 和onmouseup
當用戶按下滑鼠按鈕時,更換一幅影象。

onload
當頁面完成載入時,顯示一個提示框。

onfocus
當輸入欄位獲得焦點時,改變其背景色。

滑鼠事件
當指標移動到元素上方時,改變其顏色;當指標移出文字後,會再次改變其顏色。