📄 sampleeventflow.as
字号:
package org.kingda.book.event
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class SampleEventFlow extends Sprite
{
public function SampleEventFlow() {
var outter:Sprite = new RectContainer(10,10, 200, 200);
var middle:Sprite = new RectContainer(30,30, 150, 150);
var inner:Sprite = new RectContainer(50,50, 100, 100);
outter.name = "外层容器";
middle.name = "中层容器";
inner.name = "内层容器";
addChild(outter);
outter.addChild(middle);
middle.addChild(inner);
inner .addEventListener(MouseEvent.CLICK, clickHandler);
middle .addEventListener(MouseEvent.CLICK, clickHandler);
//读者可以将下句注释去掉,看看middle如何侦听捕获阶段的事件
//middle .addEventListener(MouseEvent.CLICK, clickHandler, true);
outter .addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(evt:MouseEvent):void {
trace ("事件发生目标:\t" + evt.target.name);
trace ("正在侦听事件的当前目标:" + evt.currentTarget.name);
trace ("事件当前阶段:\t" + evt.eventPhase);
trace ("====================================");
}
}
}
import flash.display.Sprite;
class RectContainer extends Sprite {
public function RectContainer(x:Number, y:Number, w:Number, h:Number) {
this.graphics.beginFill(0xFFFFFF*Math.random());
this.graphics.drawRect(x,y,w,h);
this.graphics.endFill();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -