为什么e.target不工作?

时间:2013-05-28 20:36:57

标签: actionscript-3 events mouse

play_btn.addEventListener(MouseEvent.MOUSE_OVER, hoverButton);
play_btn.addEventListener(MouseEvent.MOUSE_OUT, hoverOffButton);

stop_btn.addEventListener(MouseEvent.MOUSE_OVER, hoverButton);
stop_btn.addEventListener(MouseEvent.MOUSE_OUT, hoverOffButton);

fast_btn.addEventListener(MouseEvent.MOUSE_OVER, hoverButton);
fast_btn.addEventListener(MouseEvent.MOUSE_OUT, hoverOffButton);

function hoverButton(e:MouseEvent):void
{
    e.target.nextFrame();
}
function hoverOffButton(e:MouseEvent):void
{
    e.target.prevFrame();
}

您好,我想了解为什么这段动作代码不会让我的播放,停止和快进按钮转移到下一帧和前一帧。基本上,当鼠标悬停在鼠标悬停时,按钮会略微向上跳跃然后向下滑动。如果我用play_btn或fast_btn等替换'e.target',这确实有效。据我所知,帧位于正确的位置。

1 个答案:

答案 0 :(得分:2)

event.targetevent.currentTarget之间存在差异。

event.target是调度事件的对象。在您的情况下,按钮的形状或子对象。 event.currentTarget是您附加侦听器的对象。

这意味着,如果您对调度鼠标事件的对象感兴趣,请使用e.target。在您的情况下,e.currentTarget将导致您计划它的方式。