Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Event.target、Event.toElement和Event.srcElement之间的区别是什么?_Javascript_Javascript Events - Fatal编程技术网

Javascript Event.target、Event.toElement和Event.srcElement之间的区别是什么?

Javascript Event.target、Event.toElement和Event.srcElement之间的区别是什么?,javascript,javascript-events,Javascript,Javascript Events,我有以下代码: document.oncontextmenu = function(evt) { evt = evt || window.event; console.log(evt.target, evt.toElement, evt.srcElement); }; 通过在上单击鼠标右键,返回以下内容: div.foo,div.foo,div.foo 通过在上单击鼠标右键,返回以下内容: 输入,输入,输入 所有这些似乎都带来了相同的结果。是否存在其中一个与另一个有不同用途的情

我有以下代码:

document.oncontextmenu = function(evt) {
    evt = evt || window.event;
    console.log(evt.target, evt.toElement, evt.srcElement);
};
通过在
上单击鼠标右键,返回以下内容:

div.foo,div.foo,div.foo

通过在
上单击鼠标右键,返回以下内容:

输入,输入,输入

所有这些似乎都带来了相同的结果。是否存在其中一个与另一个有不同用途的情况?

是事件分派到的元素:

使用的目标对象。事件目标是 属性

srceelement
是一种IE非标准方法,用于获取
目标

是具有当前调用的事件侦听器的元素:

在事件流中,当前事件目标是关联的对象 使用当前正在调度的。这 对象可能是对象本身或其祖先之一。 当前事件目标会随着从的传播而更改 通过各种事件流,对象到对象。 当前事件目标是 属性

在事件侦听器中使用
是获取当前事件目标的常用(标准)方法

某些类型的事件具有:

用于标识与UI事件相关的辅助事件, 取决于事件的类型

fromElement
toElement
是IE获取
相关目标的非标准方式

我在Chrome版本60中使用“toElement”-你确定这是“IE非标准方式”吗?MSDN说这是“非标准方式”并且“不要在面向web的生产站点上使用”:最新的Chrome支持“toElement”但不是Mozilla Firefox。我不得不使用“target”属性来支持Mozilla中的一些案例。