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

在学习Flex的过程中,你对Flex事件机制的概念是否了解,这里和大家分享一下,很多控件中都有clickFlex事件,这个Flex事件就是一个MouseEvent的实例,当点击鼠标后,系统会自动抛出一个名称为click的MouseEventFlex事件。

创新互联建站成立以来不断整合自身及行业资源、不断突破观念以使企业策略得到完善和成熟,建立了一套“以技术为基点,以客户需求中心、市场为导向”的快速反应体系。对公司的主营项目,如中高端企业网站企划 / 设计、行业 / 企业门户设计推广、行业门户平台运营、手机APP定制开发移动网站建设、微信网站制作、软件开发、成都服务器托管等实行标准化操作,让客户可以直观的预知到从创新互联建站可以获得的服务效果。

Flex事件机制介绍

1.什么是Flex事件机制

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

在我们写代码时,编辑器的代码补全提示列表中,有很多不同的图标。那些带有闪电的就是Flex事件,三个小块的就是样式,空心圆圈的是属性,实心圆点的是公有方法,还有一个是效果。

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

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

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

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

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

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

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

click="clickHandler(event)"

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

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

这个event对象包含了触发该Flex事件时的各种信息,比如触发Flex事件对象是哪个,监听对象是哪个,触发时鼠标点在哪里等等,不同的event类会包含不同的属性,比如KeyboardEvent包含了键盘点击了哪个键。

我们也可以通过自定义一个Flex事件类,来传递我们自己想要的各种信息。

网站题目:解析Flex事件机制中触发方法和注册通道
分享网址:http://www.mswzjz.com/qtweb/news4/178004.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联