![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2008
Адрес: Земля
Сообщений: 178
|
Подскажите, можно ли отписать от прослушивания события всех объектов прослушивания (listeners) ?
Т.е. имеется событие типа COMPLETE, на которое подписано сразу несколько листенеров, можно ли одним махом (одной строкой, одним вызовом метода removeEventDospatcher, в цикле или еще как-то) отписать всех листенеров от события COMPLETE ? т.е. чтобы не писать много строк типа: ... тем более в ситуации, когда не известны все подписанные листенеры |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
Можно создать два массива - один массив объектов, которые подписаны на прослушивание, другой массив функций.
Или даже можно создать один массив объектов и один экземпляр Dicrionary, каждому объекту в нем присвоить его ссылку на функцию Потом в цикле от всех сможете отписаться. А так, чтобы одной строчкой, на сколько я знаю, нельзя |
|
|||||
|
Можно, подписываясь с weakReference=true.
А как Вы умудрились подписаться, что сами об этом не знаете?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Так не бывает.
|
|
|||||
|
Регистрация: Jan 2008
Адрес: Земля
Сообщений: 178
|
Бывает, когда неохота лазить по коду и смотреть где-что подписывал
и когда пишешь код для работы с сервером (есть классы отсылки запросов и приемы, у них два ответа COMPLETE_EVENT и ERROR_EVENT, на эти события подписаны разные прослушиватели, много прослушивателей). Но главная причина - чтобы не писать много строк с removeEventListener |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
А еще как вариант, можно отписывать на всякий случай вообще все объекты, проходясь циклом по всем клипам и их вложениям
![]() Последний раз редактировалось Zik.; 21.08.2010 в 18:17. |
|
|||||
|
Регистрация: Jan 2008
Адрес: Земля
Сообщений: 178
|
Гы - гы
Добавлено через 37 секунд Цитата:
![]() |
|
|||||
|
Ну и что, по классам реализующим IEventDispatcher (в частности наследников EventDispatcher`а, но не DisplayObject) такой подход не годится.
Если уж всё так плохо переопределите метод addEventListener и записывайте все ссылки сразу в массив, а потом удаляйте оттуда. Но это фуфло.
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|