添加内部和外部事件侦听器(AS3)之间的区别

时间:2011-08-02 09:06:19

标签: flash actionscript-3 oop addeventlistener

我有一些MovieClip class eventListenerclassMouseEvent.MOUSE_DOWN的构造函数内部添加class。现在,我想从 {{1}}外部添加相同的侦听器,用于其他目的。这两个会相互干扰还是没关系?

2 个答案:

答案 0 :(得分:2)

没关系。您可以根据需要添加任意数量的事件侦听器,它们都在侦听同一事件,并且不会相互干扰。

答案 1 :(得分:1)

这样做绝对合法。

您需要记住鼠标事件的工作原理。事件调度系统检查触发鼠标事件的对象的显示层次结构。然后有一个非常根元素 - 通常是阶段 - 和最底层元素,即事件目标。

Flash现在通知整个关于此事件的层次结构。如果此层次结构中的任何元素将侦听器设置为鼠标按下事件,则会收到通知。

通知是一个3步骤,从根元素向下(1)开始到目标元素,通知元素(2)并再次冒泡到根元素(3)。

自上而下的通知流程称为捕获阶段。要在此处接收通知,您需要将useCapture标志设置为true。自下而上的通知流程称为bubblin阶段。如果没有将useCapture设置为true,则默认情况下是您的父级注册的内容。

事件的目标阶段遵循捕获阶段。这里通知了触发事件的实际事件目标。

摘要:事件以三阶段程序发送。显示层次结构的元素可以监听该事件。

在此处找到网址链接:http://www.adobe.com/devnet/actionscript/articles/event_handling_as3.html

enter image description here