Показать сообщение отдельно
Старый 11.06.2010, 21:43
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 43  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Тигра,
1) да, ради ее иерархии и event flow

2) Вот мои размышления. Они касаются кастомных диспатчей, когда наш код самостоятельно вызывает метод EventDispatcher#dispatchEvent. Потому что системная диспетчеризация события не пользует метод dispatchEvent. По крайней мере, Event.ADDED, на котором я проверял.
Код AS3:
addEventListener('type', this.handler);
 
var eventOut:Event = new Event('type');
trace(eventOut.target); // null
dispatchEvent(eventOut); //1-й диспатч. клонирования нет, распространится этот объект как есть
trace(eventOut.target); // [object MainTimeline]
dispatchEvent(eventOut); // 2-ой диспатч. в слушатель уйдет клон этого событийного объекта
 
function handler(eventIn:Event):void {
    trace(eventOut == eventIn); // 1-й раз - true, 2-ой раз false 
}
Собственно, второй раз мы попытались задиспатчить событие с установленным target. Оно склонировалось.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.