От задачи же зависит..
Если вам надо событие клика по КАРТИНКЕ, но к самой картинке доступа нет и добавить ей слушатель нельзя, то придется диспатчить от имени контейнера и тогда да, лучше использовать кастомное событие. То есть обычный Event, но со "своим" строковым типом, который можно объявить константой в классе ImageBox, пусть будет ImageBox.CLICK_IMAGE.
Код AS3:
public class ImageBox extends Sprite
{
static public const CLICK_IMAGE:String = "clickImage";
private var _box:Sprite; // в этом спрайте рисуется бэкграунд и грузится картинка
private var _cb:CheckBox; // чекбокс
public function ImageBox()
{
_box = new Sprite();
_box.addEventListener(MouseEvent.CLICK, onClickHandler);
addChild(_box);
}
private function onClickHandler(e:MouseEvent):void
{
dispatchEvent(new Event(CLICK_IMAGE));
}
}
Код AS3:
_imageBox = new ImageBox();
_imageBox.addEventListener(ImageBox.CLICK_IMAGE, onClickImage);
addChild(_imageBox);
private function onClickImage(e:Event):void
{
trace(e.target); // выводит [object ImageBox]
}