Flex事件机制中事件注册通道和触发方法

开发 后端
本文向大家介绍一下Flex事件机制的使用问题,Flex事件可以看作是一种触发机制,当满足了一定的条件后,会触发这个Flex事件。

你对Flex事件机制的使用是否了解,本文和大家重点讨论一下,Flex事件可以看作是一种触发机制,当满足了一定的条件后,会触发这个Flex事件。比如MouseEvent就是指的当鼠标进行操作之后触发的一系列的Flex事件。

Flex事件机制介绍

1.什么是Flex事件机制

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

Flex主应用的mxml代码

  1. <mx:Script> 
  2. <![CDATA[  
  3. importmx.controls.Alert;  
  4. privatefunctionclickHandler(e:MouseEvent){  
  5. Alert.show(e.currentTarget.toString());  
  6. }  
  7. ]]> 
  8. </mx:Script> 
  9. <mx:Buttonidmx:Buttonid="testBtn"click="clickHandler(event)"label="测试"> 
  10. </mx:Button> 
  11.  

 在我们写代码时,编辑器的代码补全提示列表中,有很多不同的图标。

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

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

2.Flex事件机制中事件注册通道

上面说到了,这些通道是只能在mxml的代码提示中可以看到的,他的作用就是给mxml组件提供Flex事件触发时所执行的方法的注册通道,而且能在代码提示中可见,这样给组件提供了很大的抽象的好处,我们可以很清楚的告诉组件的使用者,组件里包含哪些Flex事件给你调用。
为什么把他区别对待?除了代码提示外,他还有一些实现上的不同。

Button的clickFlex事件是继承自核心类InteractiveObject,遗憾我们看不到他的源码,但是说明了“Flex事件注册通道”是可以继承的。

我们会在自定义Flex事件中讲述到如何声明“Flex事件注册通道”。

3.Flex事件机制中事件触发方法

注册通道中如果填入了函数,那么就代表触发该Flex事件时,会执行这个方法。

  1. click="clickHandler(event)" 

我们看到这个方法有一个event对象作为参数传入,新人可能会问到,这个event对象哪里来的?我也没声明这个变量啊。他实际上是注册通道传给他的,默认变量名就是event。我们如果想在Flex事件触发时传其他的参数,可以通过自定的Flex事件对象来实现。

这个对象就是这个组件分发的Flex事件对象,即type为“click”的MouseEvent的一个实例。

这个event对象包含了触发该Flex事件时的各种信息,比如触发Flex事件对象是哪个,监听对象是哪个,触发时鼠标点在哪里等等,不同的event类会包含不同的属性,比如KeyboardEvent包含了键盘点击了哪个键。我们也可以通过自定义一个Flex事件类,来传递我们自己想要的各种信息。

【编辑推荐】

  1. Flex事件机制用法揭秘
  2. FlexBuilder4十大新特性闪亮登场
  3. Flex框架中Cairngorm和Mate的优点大比拼
  4. FlexBuilder3.0与Eclipse3.4的完美结合
  5. 解析Flex应用开发步骤 新特性和技术框架 
责任编辑:佚名 来源: accptech.com
相关推荐

2010-08-13 14:05:24

Flex事件机制

2010-08-09 09:47:34

Flex事件机制

2010-08-06 10:03:42

Flex事件

2010-08-09 11:06:01

Flex事件机制

2010-08-12 15:35:44

Flex事件机制

2010-08-06 09:45:50

Flex事件机制

2010-08-04 13:52:53

Flex事件机制

2010-08-04 14:07:59

Flex事件机制

2010-07-29 10:33:59

Flex键盘事件

2010-08-13 13:56:02

Flex事件机制

2010-08-06 10:24:56

Flex事件分发

2010-08-12 13:59:37

FlexList控件

2010-08-04 14:02:08

Flex事件机制

2017-12-21 15:42:08

iOS传递机制

2010-08-04 13:23:29

Flex事件

2010-08-02 14:04:29

Flex4教程

2010-08-09 11:14:36

Flex事件处理

2009-08-31 09:20:37

C#事件注册和注销

2023-11-02 08:10:13

框架Spring程序事件

2010-08-12 16:10:44

Flex应用程序
点赞
收藏

51CTO技术栈公众号