Event.target

概述

指向触发事件的对象。当事件处理程序在冒泡阶段或者捕获阶段调用的时候,该目标对象与 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

相关链接

文档标签和贡献者

 此页面的贡献者: yuduxyz, collhector, AlexChao
 最后编辑者: yuduxyz,