Цитата:
|
expl, в таком варианте событие будет клонироваться при каждом dispatchEvent.
|
Разве при вызове dispatchEvent оно клонируется. Это какая-то ерунда получается:

Код AS3:
dispatchEvent(new Event(Event.CHANGE));// Один раз создали и еще один раз склонировали?
Да, кстати currentTarget в моём подходе вообще не учитывается - без него как-то обходился
Проверил, НЕ клонируется.

Код AS3:
package
{
import flash.display.Sprite;
import flash.errors.IllegalOperationError;
import flash.events.Event;
import flash.events.EventDispatcher;
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var object0:EventDispatcherWithBubbles = new EventDispatcherWithBubbles();
var object1:EventDispatcherWithBubbles = new EventDispatcherWithBubbles();
object1.eventParent = object0;
object0.addEventListener(Event.CHANGE, onChange);
_event = new Event(Event.CHANGE);
object1.dispatchEvent(_event);
}
private var _event:Event;
private function onChange(event:Event):void
{
if (_event !== event)
{
throw new Error("_event mast be equals event");// НЕ падает
}
}
}
}