Просмотр полной версии : Multiple listeners
DISconnected
07.08.2003, 23:57
проблема такая.
многооконный интерфейс. у каждого окна кнопка 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
спасибо за интересный вопрос... легкий, но интересный :)
Оригинал написал(а) DISconnected
пиво.ох уж мне эти сказочки, ох уж мне эти сказочники...
вот сколько народу это уже сказало и хоть бы кто-нить проставился... :))
DISconnected
08.08.2003, 01:42
может и лёгкий :-). но у меня тут при себе не было доки по недокументированым фичам. я вообще переделал немного и сделал по другому. с одним listener, чтобы не путаться.
насчёт пива... если на территории штатов - то могу быстро. если на территории России - чуть позже.
Nox Noctis
08.08.2003, 01:44
а дока по недокумментированным - это как ? :))
насчет пива - забей, я уже давно понял что ворчать на сей счет бесполезно :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.