|
|
|||||
Регистрация: Jul 2012
Сообщений: 148
|
Перезапись addEventListener
Есть ли на as3 возможность как-то перезаписать уже существующий листенер?
Например, есть кнопка с одним экшеном: Я к той же кнопке хочу добавить новый хэндлер, но проблема в том, что листенеров у меня очень много будет для этой кнопки и действовать должен только один, который только что добавлен, а не все сразу. |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
У метода addEventListener есть параметр priority, который поможет в вашей ситуации. Выставляйте слушателям нужные приоритеты, а при срабатывании листенера с наивысшим приоритетом, отключайте распространение события через e.stopImmediatePropagation().
Или просто удаляйте все предыдущие слушатели. |
|
|||||
Регистрация: Jul 2012
Сообщений: 148
|
Получается, что каждый раз нужно считать приоритет, который будет еще выше. Придется держать переменную с приоритетом
|
|
|||||
Регистрация: Jul 2009
Сообщений: 149
|
А вам принципиально надо несколько слушателей?
Почему бы не сделать все в одном слушателе: |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
И что? Если программиста пугает одна единственная переменная, это очень странно.
|
|
|||||
Регистрация: Jul 2012
Сообщений: 148
|
Не пугает, просто хотелось понять не будет ли она излишней.
|
|
|||||
Регистрация: Sep 2012
Сообщений: 28
|
А у меня вообще сумасшедшая идея. Отнаследовать от кнопки новый класс CustomButton, переопределить dispatchEvent, где на пресс-событие диспатчить кастомный пользовательский ивент CustomEvent со свойством data, в котором передавать и какие-то данные, потом просто слушать это событие на кнопке, и в з зависимости event.data.someVariable через какой-нить оператор switch например вызывать уже разные ф-ции в основном коде... Хотя я только учусь, но вот такое вдруг пришло в голову.
|
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
gumback, думаю, это самый адекватный вариант из всех предложенных.
|
Часовой пояс GMT +4, время: 18:19. |
|
« Предыдущая тема | Следующая тема » |
|
|