概述
指向触发事件的对象。当事件处理程序在冒泡阶段或者捕获阶段调用的时候,该目标对象与 event.currentTarget
不同。(通俗点解释就是,只有当绑定的事件处理程序与触发该事件处理程序都为同一个对象的时候,两者相同。)
语法
var theTarget = event.target
示例
event.target
属性在实现事件代理时会被用到。
// 假定一个 list 变量为 ul 元素 function hide(e) { // 点击列表项目(li)区域,e.target 与 e.currentTarget 不同 e.target.style.visibility = 'hidden'; } list.addEventListener('click', hide, false); // If some element (<li> element or a link within an <li> element for instance) is clicked, it will disappear. // It only requires a single listener to do that
浏览器兼容性
在 IE6-8 中,事件模型与标准不同。使用非标准的 element.attachEvent()
方法绑定事件监听器。在该模型中,事件对象有一个 srcElement
属性,等价于target
属性。
function hide(e) { // 支持 IE6-8 var target = e.target || e.srcElement; target.style.visibility = 'hidden'; }
规范
DOM Level 2 Events: Event.target