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




