Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Multiple listeners (http://www.flasher.ru/forum/showthread.php?t=47782)

DISconnected 07.08.2003 23:57

Multiple listeners
 
проблема такая.
многооконный интерфейс. у каждого окна кнопка Close.
Чтобы окно можно было закрывать клавишей Enter, при создании окна я делаю listerner нажатий клавиши, который закрывает окно (запускает ту же функцию Close() что и при нажатии мышкой).
Теперь баг - когда окон несколько, то они закрываются в обратном порядке при нажатии клавиши Enter. То есть при нажатии клавиши Enter, событие обрабатывает всегда самое нижнее окно...Как заставить событие нажатии клавиши обрабатываться по иерархии вниз - от последнего listener-а до первого.

Пушистик 08.08.2003 00:59

обратный цикл!

DISconnected 08.08.2003 01:16

какой в ;%№;% цикл
 
какой цикл
там событийное програмирование. алё.

Nox Noctis 08.08.2003 01:30

у объектов передающих события есть недокумментированное свойство _listeners. это обычный массив, в котором лежат ссылки на все слушающие объекты. если его перевернуть - то объекты начнут реагировать в обратном порядке...
Код:

this.createEmptyMovieClip("test_1", 1);
this.createEmptyMovieClip("test_2", 2);
this.createEmptyMovieClip("test_3", 3);
test_1.onKeyDown = test_2.onKeyDown=test_3.onKeyDown=function () {
        trace(this);
        if (this == Key._listeners[Key._listeners.length-1]) {
                Key._listeners = Key._listeners.reverse(); 
        }
};
Key.addListener(test_1);
Key.addListener(test_2);
Key.addListener(test_3);

запусти это и пощелкай кнопками...

идея ясна ? :))

DISconnected 08.08.2003 01:34

ясно
 
о. спасибо.
с меня пиво.

Nox Noctis 08.08.2003 01:38

Re: ясно
 
спасибо за интересный вопрос... легкий, но интересный :)
Цитата:

Оригинал написал(а) DISconnected
пиво.
ох уж мне эти сказочки, ох уж мне эти сказочники...

вот сколько народу это уже сказало и хоть бы кто-нить проставился... :))

DISconnected 08.08.2003 01:42

хех
 
может и лёгкий :-). но у меня тут при себе не было доки по недокументированым фичам. я вообще переделал немного и сделал по другому. с одним listener, чтобы не путаться.

насчёт пива... если на территории штатов - то могу быстро. если на территории России - чуть позже.

Nox Noctis 08.08.2003 01:44

Re: хех
 
а дока по недокумментированным - это как ? :))

насчет пива - забей, я уже давно понял что ворчать на сей счет бесполезно :)


Часовой пояс GMT +4, время: 00:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.