我希望得到这个工作:如何获取图像上的点击处理程序?
私有函数frigganWork(事件:MouseEvent)方法:无效 { 跟踪( “?WTF”); navigateToURL(new URLRequest(“https://stackoverflow.com/questions/ask”),“_self”);
}
,但我得到一个错误: “呼吁可能未定义的方法frigganWork”
我希望得到这个工作:如何获取图像上的点击处理程序?
私有函数frigganWork(事件:MouseEvent)方法:无效 { 跟踪( “?WTF”); navigateToURL(new URLRequest(“https://stackoverflow.com/questions/ask”),“_self”);
}
,但我得到一个错误: “呼吁可能未定义的方法frigganWork”
由于您位于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>
如果您从内嵌项目渲染器中调用frigganWork() - 您必须将该方法的范围更改为public。
在什么情况下,您在(发布更多的代码,请) – danjarvis 2010-01-29 21:57:25