Вот фрагмент кода:
protected function handleTriggers(raw:Object) : void
{
var name:String, value:String, map:Object;
map = {
'onclick': MouseEvent.CLICK,
'ondblclick': MouseEvent.DOUBLE_CLICK,
'onmousedown': MouseEvent.MOUSE_DOWN,
'onmouseup': MouseEvent.MOUSE_UP,
'onmouseleave': MouseEvent.ROLL_OUT,
'onrollout': MouseEvent.ROLL_OUT,
'onmouseenter': MouseEvent.ROLL_OVER,
'onrollover': MouseEvent.ROLL_OVER,
'onmouseover': MouseEvent.MOUSE_OVER,
'onmouseout': MouseEvent.MOUSE_OUT,
'onmousemove': MouseEvent.MOUSE_MOVE
};
for (name in raw)
{
value = raw[name];
if (name in map) {
var cloneValue:String = value;
object.addEventListener(map[name], function(event:* = null) : void {
execute(cloneValue, event);
});
}
}
}
объект является универсальным объектом DisplayObject и raw объект содержитсерия триггеров событий onclick, onmouseover и т. д.Это означало, что я мог подключать прослушиватели событий автоматически, следуя свойствам этого необработанного объекта.И кажется, что это работает, поскольку я действительно вижу некоторые функции слушателя в свойстве listeners объекта DisplayObject, и их количество соответствует количеству триггеров.Но позже, когда все выходит на сцену, запускается только последний обработчик событий.
Кто-нибудь знает, почему это может произойти?