Because you're inside a mx:Component
tag, your scope has changed: this
now refers to the itemRenderer component.
You can resolve to the larger scope by using outerDocument
. The event handler function does need to be public since it's being called from another class.
<?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>