DisplayObject dispath event

I embeded a png format picture and set class like Axe:Class;,and set a variable like pic:DisplayObject,and point pic to an object,var pic=new Axe();
added it to the display list:addChild(pic);
then i added the eventListener, pic.addEventListener(MouseEvent.Click,_doSomeThing);
private function _doSomeThing(e:MouseEvent):void{
//process
}

but nothing happens,the complier doesn’t report an error or warning something.
then i created a wrapper Sprite object and add the pic to the wrapper object,made the wrapper object as the event dispatcher,then every thing works.As far as i know,DisplayObject is added to the stage,but why it doesn’t work?this is weird, PLEASE HELP.