我想让这个工作:
私有函数frigganWork(事件:MouseEvent):void { 跟踪( “WTF?”); navigateToURL(new URLRequest(“https://stackoverflow.com/questions/ask”),“_ self”);
}
但是我收到一个错误:“调用可能未定义的方法frigganWork。”
答案 0 :(得分: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>
答案 1 :(得分:1)
如果从内联项呈示器中调用frigganWork(),则必须将方法的范围更改为public。