我有以下代码:
document.oncontextmenu = function(evt) {
evt = evt || window.event;
console.log(evt.target, evt.toElement, evt.srcElement);
};
点击<div class="foo"></div>
上的鼠标右键,返回:
div.foo,div.foo,div.foo
点击<input>
上的鼠标右键,返回:
输入,输入,输入
所有人似乎都带来了同样的结果。是否存在其中一种用途与其他用途不同的情况?
答案 0 :(得分:57)
event target是调度事件的元素:
使用event定位DOM event flow的对象。事件目标是
Event.target
的值 属性。
srcElement
是获取target
的IE非标准方法。
current event target是具有当前调用的事件侦听器的元素:
在事件流中,当前事件目标是关联的对象 使用当前正在分派的event handler。这个 object可以是event target本身或其祖先之一。 当{4}}传播时,当前事件目标会发生变化 通过事件流的各种event来反对对象。 当前事件目标是的值 phases属性。
在事件侦听器中使用this
是获取当前事件目标的常用(和标准)方法。
某些类型的活动有Event.currentTarget
:
用于标识与UI事件相关的辅助
relatedTarget
, 取决于事件的类型。
fromElement
和toElement
是获取relatedTarget
的IE非标准方式。