Event.currentTarget
Event
接口的只读属性 currentTarget
表示的,标识是当事件沿着 DOM 触发时事件的当前目标。它总是指向事件绑定的元素,而 Event.target
则是事件触发的元素。
语法
var currentEventTarget = event.currentTarget;
Value
例子
当将相同的事件处理程序附加到多个元素时 event.currentTarget
就很有用。
js
function hide(e) {
e.currentTarget.style.visibility = "hidden";
console.log(e.currentTarget);
// 该函数用作事件处理器时:this === e.currentTarget
}
var ps = document.getElementsByTagName("p");
for (var i = 0; i < ps.length; i++) {
// console: 打印被点击的 p 元素
ps[i].addEventListener("click", hide, false);
}
// console: 打印 body 元素
document.body.addEventListener("click", hide, false);
备注: event.currentTarget
的值只能在事件处理过程中被使用。如果你尝试用 console.log()
在控制台打印 event
对象,你会发现 currentTarget
的值是 null
。如果你想在控制台打印 currentTarget
的值,你应该使用 console.log(event.currentTarget)
,或者也可以在代码中使用 debugger
语句来暂停代码的执行从而看到 event.currentTarget
的值。
规范
Specification |
---|
DOM Standard # ref-for-dom-event-currenttarget② |
浏览器兼容性
BCD tables only load in the browser