flex事件详解

flex事件详解
2010-06-25 15:58

Flex的事件机制很简单,但是有几种不同的使用方式。我们作为使用flex作为开发工具的人,我们熟练掌握flex事件的几种使用方法,就OK了。

第一种:线上事件
通过用户的界面操作,直接发生的事件。我们通常称之为线上事件。
例子:
<mx:button id="demo" label="button1" click="show.text='I'm a good man'"/>
<mx:text id="show" />

第二种:通道事件
通过用户的界面操作,产生事件,并通过通道将事件传递给事件处理函数。
例子:
在as程序段中有一段代码:
public function eventtest(e:MouseEvent):void{
...................
}
在mxml程序段中有一段代码:
<mx:button id="demo1" label="button2" click="eventtest(event)"/>
在这个例子中,用户点击button2按钮,就会触发一个事件,通道就会将事件event(event这个事件是自动默认产生的)传递给事件处理函数,进行事件的处理

第三种:注册监听事件
我们现在as程序段中,将事件注册到某个组件上。当事件发生时,flex的事件监听线程根据事件的name值,捕获到事件,将事件分发给相应的组件。然后回调事件处理函数。
例子:
在as程序段中注册事件:
public function eventhandler():void{
          buttonid.addEventListener(MouseEvent.Click,handler1);
}               //这个函数一般都会在上一级的容器中的creatcomplete调用执行,初始化,注册事件。
public function handler1(e:Event):void{
......................
}
在mxml程序段中有一段如下代码:
<mx:button id="buttonid" label="button3" />
当用户点击button3按钮时,flex自然回将调用handler1函数进行事件的处理

第四种:自定义事件
这个很少会用到,因为flex已经提供了足够的事件通道
这个也比较复杂点,通常做法就是给自定义的组件添加新的事件通道,其实个人觉得多此一举。

附加:常用鼠标事件


posted on 2010-12-07 14:35 aiaiwoo 阅读(339) 评论(0)  编辑  收藏 所属分类: AC3/FLEX


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿

随笔分类

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜