事件的三个关键对象
1事件发送者:也就是事件的触发者。
2事件:说明发生了什么事,如单击,双击等。
3事件的监听者:谁来关注这个类型的事件
在我们常用的情况是事件的发送者发出事件,并且自己来监听事件。但也可以自己发出的事件交由其他对象来处理,也就是说向其他对象传递了消息。
具体参看下面的例子:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import mx.core.UIComponent;
public class testlist extends UIComponent
{
public var sp:Sprite;
public function testlist()
{
super();
sp=new Sprite();
sp.name="sp";
addChild(sp);
sp.graphics.beginFill(0x0000ff,0.2);
sp.graphics.drawRect(0,0,100,100);
sp.graphics.endFill();
this.addEventListener(MouseEvent.CLICK, clickHandler);
this.name="testlist";
}
private function clickHandler(evt:MouseEvent):void {
trace("事件发送者",evt.target.name);
trace("正在侦听事件的当前目标",evt.currentTarget.name);
trace("事件当前阶段",evt.eventPhase);
}
}
}
运行结果:
事件发送者 sp
正在侦听事件的当前目标 testlist
事件当前阶段 3
1事件发送者:也就是事件的触发者。
2事件:说明发生了什么事,如单击,双击等。
3事件的监听者:谁来关注这个类型的事件
在我们常用的情况是事件的发送者发出事件,并且自己来监听事件。但也可以自己发出的事件交由其他对象来处理,也就是说向其他对象传递了消息。
具体参看下面的例子:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import mx.core.UIComponent;
public class testlist extends UIComponent
{
public var sp:Sprite;
public function testlist()
{
super();
sp=new Sprite();
sp.name="sp";
addChild(sp);
sp.graphics.beginFill(0x0000ff,0.2);
sp.graphics.drawRect(0,0,100,100);
sp.graphics.endFill();
this.addEventListener(MouseEvent.CLICK, clickHandler);
this.name="testlist";
}
private function clickHandler(evt:MouseEvent):void {
trace("事件发送者",evt.target.name);
trace("正在侦听事件的当前目标",evt.currentTarget.name);
trace("事件当前阶段",evt.eventPhase);
}
}
}
运行结果:
事件发送者 sp
正在侦听事件的当前目标 testlist
事件当前阶段 3