public class Test1 extends Sprite
{
private var spr:Sprite;
private var spr2:Sprite;
public function Test1()
{
spr = new Sprite();
spr.graphics.beginFill(0xff0000,1);
spr.graphics.drawCircle(100,100,10);
spr.graphics.endFill();
this.addChild(spr);
spr.addEventListener(MouseEvent.CLICK,_hander);
spr.addEventListener(MouseEvent.CLICK,_hander);
spr.addEventListener(MouseEvent.CLICK,_hander);
spr.addEventListener(MouseEvent.CLICK,_hander);
spr2 = new Sprite();
spr2.graphics.beginFill(0xff0000,1);
spr2.graphics.drawCircle(200,100,10);
spr2.graphics.endFill();
this.addChild(spr2);
spr2.addEventListener(MouseEvent.CLICK,_hander2);
}
private function _hander(evt:MouseEvent):void
{
trace("click");
}
private function _hander2(evt:MouseEvent):void
{
trace("click2");
spr.removeEventListener(MouseEvent.CLICK,_hander);
//spr一的侦听器函数不触发了
}
}
public class Test1 extends Sprite
{
private var spr:Sprite;
private var spr2:Sprite;
public function Test1()
{
spr = new Sprite();
spr.graphics.beginFill(0xff0000,1);
spr.graphics.drawCircle(100,100,10);
spr.graphics.endFill();
this.addChild(spr);
spr.addEventListener(MouseEvent.CLICK,_hander);
spr.addEventListener(MouseEvent.CLICK,_hander);
spr2 = new Sprite();
spr2.graphics.beginFill(0xff0000,1);
spr2.graphics.drawCircle(200,100,10);
spr2.graphics.endFill();
this.addChild(spr2);
spr2.addEventListener(MouseEvent.CLICK,_hander2);
this.stage.addEventListener(MouseEvent.CLICK,_stageClick);
}
private function _hander(evt:MouseEvent):void
{
trace("click");
//舞台将不会收到click事件
evt.stopImmediatePropagation();
}
private function _hander2(evt:MouseEvent):void
{
trace("click2");
//spr.removeEventListener(MouseEvent.CLICK,_hander);
//spr一的侦听器函数不触发了
}
private function _stageClick(evt:MouseEvent):void
{
trace("stage_click");
}
}