在下面的代碼中,如果我點擊'按鈕',所有三個函數都會被調用。 但是在其他所有情況下,只有階段性事件纔會被解僱。 爲什麼'精靈'事件沒有被解僱?事件監聽器/事件流程的奇怪行爲
public class EventFlowTest extends Sprite
{
private var button:Sprite;
public function EventFlowTest()
{
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
stage.addEventListener(MouseEvent.MOUSE_DOWN,stageMouseDown,false);
graphics.beginFill(0x11);
graphics.drawCircle(100,100,100);
addEventListener(MouseEvent.MOUSE_DOWN,spriteMouseDown,false);
button=new Sprite();
addChild(button);
button.graphics.beginFill(0xF1);
button.graphics.drawCircle(100,100,10);
button.addEventListener(MouseEvent.MOUSE_DOWN,buttonMouseDown,false);
}
private function spriteMouseDown(e:MouseEvent):void
{
trace("sprite");
}
private function stageMouseDown(e:MouseEvent):void
{
trace("stage");
}
private function buttonMouseDown(e:MouseEvent):void
{
trace("button");
}
}
如果該鏈接沒有顯示出來爲別人,這是「用矢量內容鼠標交互通過實例繪製.swf文件主類的變量'graphics'不會觸發鼠標事件,但是,鼠標與通過實例變量'graphics'或任何其他InteractiveObject實例繪製的矢量內容的交互或它的子類確實會觸發鼠標事件「 – divillysausages