Просмотр полной версии : Как передать в функции, реагирующей на событие более одного параметра
Во всех примерах
impt.addEventListener(FocusEvent.FOCUS_IN, textchanging);в функцию реагирующую на событие передается только параметр типа event, со всеми входящими в него данными, а что делать если нужно передать еще несколько каких-нибудь..?
Сделать наследника Event с необходимыми свойствами и его диспетчить.
А есть какой-нибудь простой примерчик..?
если не трудно..
artcraft
06.09.2007, 21:43
http://www.flasher.ru/forum/showpost.php?p=661372&postcount=9
А куда этот класс необходимо записать, чтобы потом использовать?
Это просто класс-наследник Event, в качестве примера.
Вопроса я не понял.
Ах да, в нативным ивентам ничего лишнего прицпить нельзя (т.е. FOCUS_IN). Можно перехватывать FOCUS_IN в объекте, создавать свой ивент и слать дальше уже с параметрами.
Ну по-видимому так:
Создаю класс
file->New ActionScript Class
далее заполняю
packege - extendClass.MyEvents
name - SomeDataEvent
finish
в открывшемся файле пишу этот клас.
Далее подключаю его import extendClass.MyEvents.SomeDataEvent; и пытаюсь использовать b1.addEventListener(SomeDataEvent.CHANGE, gg);Access of possibly undefined property CHANGE through a reference with static type Class.
Что же не так?
Можно перехватывать FOCUS_IN в объектеЭто как..?
Как-как. Создавайте свою событийную модель, подписывайтесь в объектах на собственные события, изменяйте, как нужно, шлите события дальше.
Примеры я писать не буду — долго, пожалуй.
artcraft
07.09.2007, 15:44
и пытаюсь использовать b1.addEventListener(SomeDataEvent.CHANGE, gg);Access of possibly undefined property CHANGE through a reference with static type Class.Что же не так?
Это как..?
к константе SomeDataEvent.CHANGE обращаться смысла нету - её там нет.
перед тем как слушать событие его необходимо отослать(dispach)
...
наследникEventDispatcher.dispatchEvent(new SomeDataEvent("event-name", [a,b,c]);
...
теперь можно слушать это событие
...
наследникEventDispatcher.addEventListener("event-name", onSomeDataEvent);
...
private function onSomeDataEvent(e:SomeDataEvent):void{
trace(e.data);
...
}
наследникEventDispatcher это var ed:EventDispatcher = new EventDispatcher;
?
зачем тогда его подписываем..
На какое событие откликнется функция onSomeDataEvent?
Я советую сначала выяснить, что такое «наследование», «полиморфизм», дабы не задавать подобных вопросов впредь.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.