Показать сообщение отдельно
Старый 11.06.2011, 10:46
Андрей911 вне форума Посмотреть профиль Отправить личное сообщение для Андрей911 Найти все сообщения от Андрей911
  № 1  
Ответить с цитированием
Андрей911
 
Аватар для Андрей911

Регистрация: Jun 2011
Сообщений: 127
По умолчанию определить какой обект генерировал событие

Проблема в следующем у меня есть вложенный на несколько уровней вглубь слайдер с авами пользователей.
Кроме авы я еще запихиваю в каждый из отдельных элементов сладера информации о каждом из пользователей.
Дату рождения, ссылку на страницу, имя и т.д. Надо при щелчке на слайдере получить эти данные и использовать в корне флешки.
Если использовать конструкцию:
Код AS3:
level1.level2.slider_element.addEventListener(MouseEvent.CLICK,doSomething);
function doSomething(e:MouseEvent)
{
var data:Array=e.currentTarget.userData; //дальше что-то с ними делаю    
}
То все работает, но это не удобно, так как на уровне level2 слайдер не всегда в кадре. И после выхода его из кадра снова приходится лезть туда из корня и вешать слушатели событий. И соответственно всякие проверки на вход выход из кадра.
Попробовал сделать через dispatchEvent.
Slider_element генерирует событие
Код AS3:
dispatchEvent(new Event("i_am_clicked"));
А в корне флешки поставил прослушиватель события.
Код AS3:
addEventListener("i_am_clicked",doSomething,true);
function doSomething(e:Event)
{
var data:Array=e.currentTarget.userData;
}
Но такой метод не работает. В чем ошибка? Помогите разобраться. И как надо сделать чтоб правильно было?