2010-01-29 2 views
0

Я хочу, чтобы получить эту работу:Как получить обработчик клика на изображении?

частная функция frigganWork (событие: MouseEvent): пустота { след ("? WTF"); navigateToURL (новый URLRequest («https://stackoverflow.com/questions/ask»), «_self»);

} 

, но я получаю сообщение об ошибке: "Позвоните, чтобы возможно неопределенный метод frigganWork."

+1

В каком контексте вы называете этот метод из (поста больше коды пожалуйста) – danjarvis

ответ

3

Поскольку вы находитесь в теге mx:Component, ваша область действия изменилась: this теперь относится к компоненту itemRenderer.

Вы можете решить эту проблему с помощью outerDocument. Функция обработчика событий должна быть общедоступной, поскольку она вызывается из другого класса.

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
<mx:Script> 
    <![CDATA[ 
     public function onClick(event:Event):void {} 
    ]]> 
</mx:Script> 
    <mx:ComboBox> 
     <mx:itemRenderer> 
      <mx:Component> 
       <mx:Image click="{outerDocument.onClick(event)}" /> 
      </mx:Component> 
     </mx:itemRenderer> 
    </mx:ComboBox> 
</mx:Application> 
+0

Согласовано. Я всегда использовал parentDocument, но это похоже на то же. – adamcodes

+0

СПАСИБО ВАМ Михаил !!! – ryan

1

Если вы вызываете frigganWork() из встроенного средства визуализации элементов - вам нужно изменить область действия метода на публичный.

+0

<те: источник изображения = "активы/{data.source}" buttonMode = "истинный" нажмите = "frigganWork()"/> я изменил сферу общественного, ту же ошибку – ryan

+0

<тх: ItemRenderer> \t \t \t \t <тх: Компонент> \t \t \t \t \t <тх: VBox VerticalAlign = "средний" HorizontalAlign = "центр" horizontalScrollPolicy = "off" \t \t \t \t \t \t \t \t verticalScrollPolicy = "выключен" BackgroundColor = "# CCCCCC" rollOverEffect = "размытость"> \t \t \t \t \t \t \t \t <те: Image Source = "активы/{data.source}" buttonMode = "истинный" нажмите = "frigganWork()" /> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t ryan

+0

, что я делаю неправильно? – ryan

Смежные вопросы