![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 10
|
Добрый день.
Проблема заключается в следующем, есть n-ое кол-во кнопок b1, b2, b3..., каждая кнопка должна выполнять определенную функцию fn1, fn2, fn3..., Как сделать что бы на кнопку автоматически вешалась функция. Например на b1 fn1, на b2 fn2 и т.д. |
|
|||||
|
.
|
// Это контейнер с кнопками // где-нибудь на стадии инициализации super.addEventListener(Event.ADDED, this.handler_added); super.addEventListener(Event.REMOVED, this.handler_removed); private function handler_added(event:Event):void { const target:DisplayObject = event.target; if (target.parent === this && target is Button /* или какой-нибудь другой признак, если в контейнере не только кнопки*/) { const name:String = target.name; // as 'b1' const handler:Function = this[name] as Function; // as this.b1 if ( handler ) { target.addEvenListener(MouseEvent.CLICK, handler); } } } private function handler_removed(event:Event):void { const target:DisplayObject = event.target; if (target.parent === this && target is Button) { const name:String = target.name; // as 'b1' const handler:Function = this[name] as Function; // as this.b1 if ( handler ) { target.removeEvenListener(MouseEvent.CLICK, handler); } } } private function b1(event:MouseEvent):void { trace(event); } |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 10
|
Спасибо большое, буду пробовать.
|
|
|||||
|
[+1 25.10.13]
[+4 18.03.14] |
Такой код не очень сочетается с паттерном MVC, если конечно сам контроллер не является контейнером
![]() |
|
|||||
|
.
|
Агрегатирование. Агрегирование. Думаю что нет смысла комментировать.
|
|
|||||
|
[+1 25.10.13]
[+4 18.03.14] |
А я думаю, что имеет. Смысл агрегатирования в сборке. В Drupal переводится как агрегатирование. В Drupal используется очень правильная концепция сущностей - entities. Что там плохо это использование ассоциативных массивов вместо XML.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|