|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2013
Сообщений: 2
|
removeEventListener для нескольких объектов
Здравствуйте! Целый четвертый день изучаю AS и флеш. Возник вопрос, на которй за последние шесть часов мне не удалось найти ответ.
Предположим есть какой то класс package menu { public class kn extends MovieClip { public var locate_kn_menu:MovieClip; public function kn(st:Object, kn_me_fClass:Class) { locate_kn_menu = new kn_me_fClass(); st.addChild(locate_kn_menu ); } } } public function menu_container(st:Object) { for (var i:int = 0; i < 4; i++) { kn_me = new kn(st); kn_me.locate_kn_menu.addEventListener(MouseEvent.ROLL_OVER, mo_OVER); } } Впорос: Как сделать так, что бы при удачном срабатывании одного события, удалялись слушатели событий для всех аналогичных элементов в этом контейнере? |
|
|||||
Модрон-ветеринар
|
dfvxtr, код в сообщении нужно выделять соответствующими тегами.
__________________
Идите первым! |
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
Как отписать событие?
|
|
|||||
private var _kns:Array = []; public function menu_container(st:Object) { for (var i:int = 0; i < 4; i++) { kn_me = new kn(st); kn_me.locate_kn_menu.addEventListener(MouseEvent.ROLL_OVER, mo_OVER); _kns.push(kn_me); } } private function mo_OVER(e:MouseEvent):void { for each (var k:kn in _kns) k.locate_kn_menu.removeEventListener(MouseEvent.ROLL_OVER, mo_OVER); } Но лучше подписывать не сами объекты на события мыши, а родительский контейнер |
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
Чем лучше? Лишний бублинг
|
|
|||||
Регистрация: May 2013
Сообщений: 2
|
to caseyryan
Пробовал так. При таком раскладе элементы массива _kns, оказываются undifined все, кроме того с которого произошел event. Смотрел их через trace(); перед тем как пытаться removeEvent сделать. UPD. О! Слегка видеоизменный вариант Вот в таком виде оно работает. Очень премного благодарен. Последний раз редактировалось dfvxtr; 02.05.2013 в 00:50. |
|
|||||
Цитата:
не может оно так работать Цитата:
Но для click однозначно лучше. |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
Цитата:
|
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
*****
Последний раз редактировалось Babylon; 03.05.2013 в 03:31. |
Часовой пояс GMT +4, время: 11:09. |
|
« Предыдущая тема | Следующая тема » |
|
|