- HTML 教程
- HTML - 首頁
- HTML - 路線圖
- HTML - 簡介
- HTML - 歷史與演變
- HTML - 編輯器
- HTML - 基本標籤
- HTML - 元素
- HTML - 屬性
- HTML - 標題
- HTML - 段落
- HTML - 字型
- HTML - 塊
- HTML - 樣式表
- HTML - 格式化
- HTML - 引號
- HTML - 註釋
- HTML - 顏色
- HTML - 圖片
- HTML - 圖片地圖
- HTML - 內嵌框架 (Iframe)
- HTML - 短語元素
- HTML - 元標籤
- HTML - 類
- HTML - ID
- HTML - 背景
- HTML 表格
- HTML - 表格
- HTML - 表頭和標題
- HTML - 表格樣式
- HTML - 表格 Colgroup
- HTML - 巢狀表格
- HTML 列表
- HTML - 列表
- HTML - 無序列表
- HTML - 有序列表
- HTML - 定義列表
- HTML 連結
- HTML - 文字連結
- HTML - 圖片連結
- HTML - 郵箱連結
- HTML 顏色名稱和值
- HTML - 顏色名稱
- HTML - RGB
- HTML - HEX
- HTML - HSL
- HTML 表單
- HTML - 表單
- HTML - 表單屬性
- HTML - 表單控制元件
- HTML - 輸入屬性
- HTML 多媒體
- HTML - 影片元素
- HTML - 音訊元素
- HTML - 嵌入多媒體
- HTML 頭部
- HTML - 頭元素
- HTML - 新增 Favicon
- HTML - Javascript
- HTML 佈局
- HTML - 佈局
- HTML - 佈局元素
- HTML - 使用 CSS 進行佈局
- HTML - 響應式設計
- HTML - 符號
- HTML - 表情符號
- HTML - 樣式指南
- HTML 圖形
- HTML - SVG
- HTML - Canvas
- HTML API
- HTML - Geolocation API
- HTML - 拖放 API
- HTML - Web Workers API
- HTML - WebSocket
- HTML - Web 儲存
- HTML - 伺服器傳送事件
- HTML 其他
- HTML - 文件物件模型 (DOM)
- HTML - MathML
- HTML - 微資料
- HTML - IndexedDB
- HTML - 網頁訊息傳遞
- HTML - Web CORS
- HTML - WebRTC
- HTML 演示
- HTML - 音訊播放器
- HTML - 影片播放器
- HTML - 網頁幻燈片
- HTML 工具
- HTML - Velocity Draw
- HTML - 二維碼
- HTML - Modernizer
- HTML - 驗證
- HTML - 顏色選擇器
- HTML 參考
- HTML - 速查表
- HTML - 標籤參考
- HTML - 屬性參考
- HTML - 事件參考
- HTML - 字型參考
- HTML - ASCII 碼
- ASCII 碼錶查詢
- HTML - 顏色名稱
- HTML - 實體
- MIME 媒體型別
- HTML - URL 編碼
- 語言 ISO 程式碼
- HTML - 字元編碼
- HTML - 已棄用的標籤
- HTML 資源
- HTML - 快速指南
- HTML - 有用資源
- HTML - 顏色程式碼生成器
- HTML - 線上編輯器
HTML - DOM 元素 addEventListener() 方法
addEventListener() 方法允許開發者向元素註冊事件處理程式,使元素能夠響應使用者的操作,例如點選或按鍵。
語法
element.addEventListener(event, function, useCapture)
引數
| 引數 | 描述 |
|---|---|
| event | 指定要監聽的事件型別,例如 click、mouseover、keypress 等。 |
| function | 定義當指定事件發生時要執行的函式。 |
| useCapture | (可選) 確定事件處理階段 |
| - 如果為 true,則在捕獲階段執行事件處理程式。 | |
| - 如果為 false (預設),則在冒泡階段執行事件處理程式。 |
返回值
addEventListener() 方法不返回值;而是將事件監聽器附加到元素。
HTML DOM 元素 'addEventListener()' 方法示例
以下是一些示例,說明如何使用 addEventListener() 方法來處理各種 HTML DOM 元素上的事件。
點選事件監聽器
此示例將點選事件監聽器附加到按鈕,在點選時觸發操作。當有人點選按鈕時,會彈出一個訊息,顯示“已點選按鈕!”。
<!DOCTYPE html>
<html>
<head>
<title>Click Event Example</title>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Click Event
</h3>
<button id="myButton">Click me</button>
<script>
var button = document.getElementById('myButton');
button.addEventListener('click', function() {
alert('Button clicked!');
});
</script>
</body>
</html>
滑鼠懸停事件監聽器
此示例在滑鼠懸停在 div 上時更改其背景顏色。嘗試將滑鼠移到方塊上!它會變色!這就是 addEventListener() 的魔力。
<!DOCTYPE html>
<html>
<head>
<title>Mouse Over Event Example</title>
<style>
.myDiv {
width: 200px;
height: 200px;
background-color: lightgray;
}
</style>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Mouse Over Event
</h3>
<div class="myDiv" id="myDiv">Hover over me!</div>
<script>
var div = document.getElementById('myDiv');
div.addEventListener('mouseover', function() {
div.style.backgroundColor = 'lightblue';
});
div.addEventListener('mouseout', function() {
div.style.backgroundColor = 'lightgray';
});
</script>
</body>
</html>
按鍵事件監聽器
此示例在按下鍵盤上的鍵時顯示按下的鍵。曾經想知道你按下了鍵盤上的哪個鍵嗎?現在你可以用 addEventListener() 找出答案!按下鍵盤上的任何鍵,你都會看到一條訊息告訴你按下了哪個鍵!
<!DOCTYPE html>
<html>
<head>
<title>Key Press Event Example</title>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Key Press Event
</h3>
<p>Press any key.....</p>
<script>
document.body.addEventListener('keypress', function(event) {
alert('You pressed the key: ' + event.key);
});
</script>
</body>
</html>
提交表單事件監聽器
此示例阻止預設的表單提交行為,並顯示包含輸入使用者名稱的訊息框。填寫你的姓名並點選“提交”。你會看到一條專屬於你的友好訊息!
<!DOCTYPE html>
<html>
<head>
<title>Submit Form Event Example</title>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Submit Form Event
</h3>
<form id="myForm">
<input type="text" name="username" placeholder="Enter your name">
<button type="submit">Submit</button>
</form>
<script>
document.getElementById('myForm').addEventListener('submit', function(event) {
event.preventDefault();
var username = event.target.elements.username.value;
alert('Hello, ' + username + '! You submitted the form!');
});
</script>
</body>
</html>
更改事件監聽器
此示例在下拉選單中的選擇更改時顯示所選值。嘗試從下拉選單中選擇不同的選項。每次更改選擇時,都會出現一條訊息告訴你選擇了哪個選項!
<!DOCTYPE html>
<html>
<head>
<title>Change Event Example</title>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Change Event
</h3>
<p>Please Select any Option...</p>
<select id="mySelect">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<script>
document.getElementById('mySelect').addEventListener('change', function(event) {
alert('You selected option: ' + event.target.value);
});
</script>
</body>
</html>
焦點事件監聽器
此示例演示如何使用事件監聽器來響應輸入欄位上的焦點和失焦事件,基於使用者與網頁的互動。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Focus Event Listener</title>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Focus Event
</h3>
<label for="nameInput">Enter your name:</label>
<input type="text" id="nameInput">
<div id="message"></div>
<script>
document.addEventListener
('DOMContentLoaded', function() {
let nameInput = document.getElementById
('nameInput');
let messageBox = document.getElementById
('message');
nameInput.addEventListener('focus', function() {
messageBox.textContent = 'Input field focused.';
messageBox.style.color = 'green';
});
nameInput.addEventListener('blur', function() {
messageBox.textContent = 'Input field blurred.';
messageBox.style.color = 'black';
});
});
</script>
</body>
</html>
動態處理輸入長度限制
此示例向輸入欄位新增按鍵事件監聽器,該監聽器驗證輸入長度,如果超過最大長度則顯示訊息。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Handling input length Event Listener
</title>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Handling Input Length Event
</h3>
<label for="textInput">
Enter Text (max 10 characters):
</label>
<input type="text" id="textInput">
<div id="message"></div>
<script>
document.addEventListener
('DOMContentLoaded', function() {
let textInput=document.getElementById('textInput');
let messageBox =document.getElementById('message');
textInput.addEventListener
('keypress', function(event) {
if (textInput.value.length >= 10) {
// Prevent further keypresses
event.preventDefault();
messageBox.textContent =
'Maximum length reached.';
} else {
messageBox.textContent = '';
}
});
});
</script>
</body>
</html>
處理滾動事件
此示例向視窗新增滾動事件監聽器,在使用者向下滾動頁面時顯示訊息。
<!DOCTYPE html>
<html lang="en">
<head>
<style>
body {
height: 1500px;
}
#messageBox {
position: fixed;
top: 20px;
left: 50%;
transform: translateX(-50%);
background-color: #f0f0f0;
padding: 10px;
border: 1px solid #ccc;
display: none;
}
</style>
</head>
<body>
<h2 align = "center">HTML - DOM Element </h2>
<h3 align = "center">addEventListener() Method
<br><br>Scroll Event
</h3>
<p>Scroll down.........</p>
<div id="messageBox">You scrolled down!</div>
<script>
document.addEventListener
('DOMContentLoaded', function() {
let messageBox = document.getElementById
('messageBox');
window.addEventListener('scroll', function() {
if (window.scrollY > 100) {
// Show message after scrolling 100px down
messageBox.style.display = 'block';
} else {
messageBox.style.display = 'none';
}
});
});
</script>
</body>
</html>
支援的瀏覽器
| 方法 | ![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| addEventListener() | 是 5.0 | 是 10.0 | 是 16.0 | 是 5.1 | 是 10.6 |
html_dom_element_reference.htm
廣告




