事件:explicitOriginalTarget 属性

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

注意:此功能在 Web Workers 中可用。

Event 接口中的只读 explicitOriginalTarget 属性返回事件的明确原始目标。

如果事件因某种非匿名边界交叉的原因而被重新定向,则此属性将设置为重定向发生之前的目标。

例如,当鼠标事件发生在文本节点上时,它们会被重新定向到父节点(参见 Firefox bug 185889),在这种情况下,currentTarget 将显示父节点,而此属性将显示文本节点。

此属性与 originalTarget 的不同之处在于,它永远不会包含匿名内容。

返回 EventTarget 对象,如果没有则返回 null。

示例

此属性可与 <command> 一起使用,以获取调用命令的原始对象的事件详细信息。

js
function myCommand(ev) {
  alert(ev.explicitOriginalTarget.nodeName); // returns 'menuitem'
}
xml
<xul:command id="my-cmd-anAction" oncommand="myCommand(event);"/>

<xul:menulist>
  <xul:menupopup>
    <xul:menuitem label="Get my element name!" command="my-cmd-anAction"/>
  </xul:menupopup>
</menulist>

规范

这是 Mozilla 特有的属性,不是任何当前规范的一部分。它并没有成为标准的轨道。

浏览器兼容性