js事件三要素
文章类型:Javascript
发布者:hp
发布时间:2025-04-30
在js中,三要素指ECMAScript、DOM(文档对象模型) 和 BOM(浏览器对象模型),那么事件三要素呢
定义=>触发事件的 DOM 元素(如按钮、输入框等),即事件的“目标对象”
作用=>通过事件源绑定需要监听的事件
代码=>
const button = document.getElementById("myButton"); // 获取按钮元素(事件源)
定义=>表示用户或浏览器触发的动作类型,如点击(click)、鼠标悬停(mouseover)、键盘输入(keydown)等
类型=>
鼠标事件:click, mouseover, mouseout
键盘事件:keydown, keyup, keypress
表单事件:submit, input, change
窗口事件:load, resize, scroll
定义=>是一个函数,用于在事件触发时执行特定的逻辑
代码=>
// 方式1:通过 addEventListener 绑定
button.addEventListener("click", function() {
console.log("按钮被点击了!");
});
// 方式2:通过 HTML 属性绑定(不推荐)
<button onclick="handleClick()">点击</button>
<button id="myButton">点击我</button>
<div id="output"></div>
<script>
// 1. 获取事件源
const button = document.getElementById("myButton");
const output = document.getElementById("output");
// 2. 定义事件处理程序
function showMessage() {
output.textContent = "Hello, 事件已触发!";
}
// 3. 绑定事件类型(click)和事件处理程序
button.addEventListener("click", showMessage);
</script>
1:事件三要素:事件源(元素) + 事件类型(动作) + 事件处理程序(函数)。
2:核心目的:通过这三要素实现用户交互的响应逻辑。
3:进阶:掌握事件对象和传播机制,能更灵活地控制事件行为
1:事件对象(Event Object)=>事件处理程序的第一个参数是 event 对象,包含事件详细信息
button.addEventListener("click", function(event) {
console.log("事件类型:", event.type); // 输出:click
console.log("触发元素:", event.target); // 输出:<button>
});
2:事件传播机制=>分为 捕获阶段、目标阶段 和 冒泡阶段,可通过 addEventListener 的第三个参数控制监听阶段
// 在捕获阶段监听事件(默认为冒泡阶段)
button.addEventListener("click", handleClick, true);