![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
Здравствуйте! У меня есть куча объектов одного класса. В определенных условиях один из этих объектов выплевывает событие. Мне нужно чтобы некий класс услышал это событие, но он не знает какой именно объект слушать. Что единственный способ решить эту проблему подписывать слушатели для всех объектов? Или есть более красивое решение?
|
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
я не суперФлешер можно расшифровочку )))
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
ДО, я так понимю - это дочерний объект, а бабблинг - это передача события вверх по иерархии объектов
|
|
|||||
|
Наверное DisplayObject.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Ну, усложнили...
На самом деле, ответ в том, что: 1. Слушатель вешается на контейнер, в котором копошатся объекты. 2. Каждый из объектов диспатчит событие с параметром "bubbles": dispatchEvent(new Event(MY_EVENT,true)); (http://help.adobe.com/ru_RU/FlashPla...ml#Event%28%29) 3. В обработчике хорошо бы, получив событие, прекратить его дальнейшее распространение stopImmediatePropagation (http://help.adobe.com/ru_RU/FlashPla...pagation%28%29) |
|
|||||
|
>>но он не знает какой именно объект слушать
есть вариант вещать/слушать через статический диспатчер (http://www.flasher.ru/forum/blog.php?b=85) т.е. вещаем в объектах от его имени, соответственно и слушаем только его |
|
|||||
|
ДО - DisplayObject. Таргет можно и с параметром передавать. Есть темы на форуме, как минимум две, где обсуждается сохранение таргета при бабблинге. Оно хорошо ищется в поиске.
Есть еще useCapture у addEventListener. Прочтите в хелпе про него. Там и таргет, насколько помнится, не ломается. Добавлено через 2 минуты Да, слушатель цеплять к контейнеру, или контейнеру контейнера, или контейнеру контейнера контейнера... Смотря какая у вас там иерахия.
__________________
тут я |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
, если, конечно, слушаем контейнер (контейнер контейнера и т.д.) |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|