📅  最后修改于: 2023-12-03 14:49:00.876000             🧑  作者: Mango
在 Web 开发过程中,经常需要对页面上的元素绑定事件,为了实现特定的功能,通常需要获取事件源。
在事件发生时,浏览器会自动创建一个事件对象,其中包含了事件的详细信息,如事件类型、事件目标等。事件目标就是指导致事件发生的元素,通过访问事件对象的 target
属性可以获取到它。
除了 target
属性外,事件对象还提供了许多其他的数据属性,通过这些属性可以获取更加详细的事件信息,如:
currentTarget
:当前处理事件的元素type
:事件类型bubbles
:是否冒泡cancelable
:是否可以取消事件的默认行为defaultPrevented
:是否已经取消了事件的默认行为eventPhase
: 事件所处的当前阶段可以通过 event.target
访问事件对象的目标属性,获取事件目标元素,常见的使用场景比如点击事件触发弹框等。
示例代码:
document.getElementById('btn').addEventListener('click', function(event) {
console.log(event.target); // 输出当前点击的按钮元素
});
除了 target
属性外,还可以通过访问其他属性获取更加详细的事件信息:
document.getElementById('btn').addEventListener('click', function(event) {
console.log(event.currentTarget); // 输出当前处理事件的元素
console.log(event.type); // 输出事件类型
console.log(event.bubbles); // 输出是否冒泡
console.log(event.cancelable); // 输出是否可以取消事件的默认行为
console.log(event.defaultPrevented); // 输出是否已经取消了默认行为
console.log(event.eventPhase); // 输出事件所处的当前阶段
});
事件目标数据属性提供了访问事件对象的详细信息的接口,掌握使用方法可以帮助程序员更好地处理和监测事件,为 Web 应用提供更好的用户交互体验。