我有以下代码:
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>上的鼠标右键,返回以下内容:
输入,输入,输入
似乎都带来了同样的结果。是否有任何情况,其中一个有不同的用途与其他?
发布于 2015-08-06 21:32:04
事件目标是将事件分派到的元素:
使用事件对其进行目标的对象。事件目标是
Event.target属性的值。
srcElement是IE非标准获取target的一种方式.
当前事件目标是具有当前调用的事件侦听器的元素:
在事件流中,当前事件目标是与当前正在分派的事件处理程序关联的对象。这个对象可能是事件目标本身,也可能是它的祖先之一。当事件通过事件流的各种相态从一个对象传播到另一个对象时,当前事件目标会发生变化。当前事件目标是
Event.currentTarget属性值。
在事件侦听器中使用this是获取当前事件目标的一种常见(也是标准的)方法。
有些事件有一个relatedTarget
用于标识与UI事件相关的辅助
EventTarget,具体取决于事件的类型。
fromElement和toElement是IE非标准的获取relatedTarget的方法.
https://stackoverflow.com/questions/31865416
复制相似问题