DOM3:事件

JavaScript HTML DOM 事件

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


對事件做出反應

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

如需在用戶點擊某個元素時執行代碼,請向一個 HTML 事件屬性添加 JavaScript 代碼:

οnclick=JavaScript

HTML 事件的例子:

  • 當用戶點擊鼠標時
  • 當網頁已加載時
  • 當圖像已加載時
  • 當鼠標移動到元素上時
  • 當輸入字段被改變時
  • 當提交 HTML 表單時
  • 當用戶觸發按鍵時

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

<!DOCTYPE html>
<html>
<body>
<h1 οnclick="this.innerHTML='Ooops!'">點擊文本!</h1>
</body>
</html>

本例從事件處理器調用一個函數:

<!DOCTYPE html>
<html>
<head>
<script>
function changetext(id)
{
    id.innerHTML="Ooops!";
}
</script>
</head>
<body>
<h1 οnclick="changetext(this)">點擊文本!</h1>
</body>
</html>

HTML 事件屬性

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

向 button 元素分配 onclick 事件:

<button οnclick="displayDate()">點這裏</button>

在上面的例子中,名爲 displayDate 的函數將在按鈕被點擊時執行。


使用 HTML DOM 來分配事件

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

向 button 元素分配 onclick 事件:

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

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

按鈕點擊時Javascript函數將會被執行。


onload 和 onunload 事件

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

onload 事件可用於檢測訪問者的瀏覽器類型和瀏覽器版本,並基於這些信息來加載網頁的正確版本。

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

<body οnlοad="checkCookies()">

onchange 事件

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

下面是一個如何使用 onchange 的例子。當用戶改變輸入字段的內容時,會調用 upperCase() 函數。

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

onmouseover 和 onmouseout 事件

onmouseover 和 onmouseout 事件可用於在用戶的鼠標移至 HTML 元素上方或移出元素時觸發函數。

一個簡單的 onmouseover-onmouseout 實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>

<div οnmοuseοver="mOver(this)" οnmοuseοut="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>

onmousedown、onmouseup 以及 onclick 事件

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章