Flex事件讲解(一)

 关于flex事件的讲解

 

 

一.引

很多新人对Flex的事件机制都不太熟悉,在使用过程中难免会出现各种问题,这是一个非常普遍的问题,为了更快更好的帮助大家,将介绍一下Flex中事件的各种机制和用法。

Flex的精髓之一就是事件和绑定机制,了解之后,能帮助大家更灵活的设计程序,也对新手上路有一定的帮助。

讲解可能不太系统,也不全面,有很多没有深入。如果高手看到后有疑问,欢迎指正。当然各位也可以提出自己的看法,或者经验分享,谢谢。

 

二.事件机制介绍

1. 什么是事件机制

事件可以看作是一种触发机制,当满足了一定的条件后,会触发这个事件。比如MouseEvent就是指的当鼠标进行操作之后触发的一系列的事件。很多控件中都有click事件,这个事件就是一个MouseEvent的实例,当点击鼠标后,系统会自动抛出一个名称为click的MouseEvent事件(这种方法我们将在后面介绍到)。如果此时在click上注册一个方法,那么触发该事件时就会执行这个方法。

 

大致示意图

Flex事件讲解(一)

 

该示意图对应的Flex主应用的mxml代码

Flex事件讲解(一)<mx:Script>
Flex事件讲解(一)          
<![CDATA[
Flex事件讲解(一)                 import mx.controls.Alert;        
Flex事件讲解(一)Flex事件讲解(一)                 private
function clickHandler(e:MouseEvent){
Flex事件讲解(一)                       Alert.show(e.currentTarget.toString());
Flex事件讲解(一)                 }

Flex事件讲解(一)           ]]
>
Flex事件讲解(一)
</mx:Script>
Flex事件讲解(一)
<mx:Button id="testBtn" click="clickHandler(event)" label="测试">
Flex事件讲解(一)
</mx:Button>

 

 

在我们写代码时,编辑器的代码补全提示列表中,有很多不同的图标,如图
Flex事件讲解(一)

 

那些带有闪电的就是事件,三个小块的就是样式,空心圆圈的是属性,实心圆点的是公有方法,还有一个是效果。

我们能在这个列表中看到的事件,我把它称之为事件注册通道。(官方仍然称它为事件,但是它又和普通的事件含义不同。关于事件注册通道会再下面讲述到)