Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.19.55.8] |
|
Сообщ.
#1
,
|
|
|
Вопрос такой: Есть набор объектов класса А и один "командный" объект класса Б, управляющий всеми объектами из А. Мне нужно ловить события нажатия мышой на объекты А, по которым действия должны быть совершены и внутри ткнутого А, и в объекте Б. Как правильнее назначать обработчики события с точки зрения производительности и структурированности самой программы?
|
Сообщ.
#2
,
|
|
|
Вроде тривиально же?
class A { ... private function clickHandler (e:EventMouse):void { dispatchEvent(new Event(CAPTURING_EVENT)); ... process inside A instance } ... } class B { ... function B ():void { this.addEventListener(CAPTURING_EVENT, eventFromA); } function eventFromA (e:Event):void { ... process inside B instance } ... } Почему такой способ не устраивает? PS: Пишу по памяти, так что, прошу без претензий. |
Сообщ.
#3
,
|
|
|
нет, вопрос не совсем в этом. Есть два варианта, первый ставить обработчик ф-ей из класса А, второй - ф-ей из класса Б. Как я понимаю, предлагается дополнительный обработчик в Б, который будет ловить события из А. Однако объекту Б надо ещё знать, какой из А поймал сообщение от мыши.
|
Сообщ.
#4
,
|
|
|
Там есть свойства terget и currentTarget. Не поможет?
|
Сообщ.
#5
,
|
|
|
помогло в результате сместил обработчик в класс Б, а потом хватал event.target и смотрел, есть ли у него в родителях экземпляры класса А, если есть, вызывал его метод. Правда, я до этого дотумкал с неделю назад, но все-таки
|