我不明白有什么区别,它们看起来是一样的,但我想它们不是。

任何关于何时使用其中一个或另一个的例子都将是非常感谢的。


当前回答

E.target是元素,你可以点击它 currenttarget是添加了事件监听器的元素。

如果你点击按钮的子元素,最好使用currentTarget来检测按钮属性,在CH中使用e.target有时会有问题。

其他回答

e.currentTarget是注册事件的元素(父),e.target是事件指向的节点(子)。

e.currentTarget总是事件实际绑定的元素。e.target是事件产生的元素,所以e.target可以是e.currentTarget的子元素,或者e.target可以是=== e.currentTarget,这取决于你的标记是如何构造的。

e.target是触发事件分派器的触发器,e.currentTarget是你分配给监听器的对象。

E.target是元素,你可以点击它 currenttarget是添加了事件监听器的元素。

如果你点击按钮的子元素,最好使用currentTarget来检测按钮属性,在CH中使用e.target有时会有问题。

本的回答完全正确,所以要记住他说的话。我要告诉你的不是一个完整的解释,但这是一个非常简单的方法来记住e.target和e. currentarget是如何与鼠标事件和显示列表相关的:

目标=鼠标下面的东西(如本所说…触发事件的东西)。 . currenttarget =点前面的东西…(见下文)

因此,如果你在一个实例名为“btns”的剪辑中有10个按钮,你会:

btns.addEventListener(MouseEvent.MOUSE_OVER, onOver);
// btns = the thing before the dot of an addEventListener call
function onOver(e:MouseEvent):void{
  trace(e.target.name, e.currentTarget.name);
}

e.target将是10个按钮之一,e.currentTarget将始终是“btns”剪辑。

值得注意的是,如果您将MouseEvent更改为ROLL_OVER或设置属性btns。mouseChildren to false, e.target和e. currentarget都将总是“btns”。