千家信息网

Flex事件机制的阶段有哪些

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要为大家展示了"Flex事件机制的阶段有哪些",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Flex事件机制的阶段有哪些"这篇文章吧。Flex事件
千家信息网最后更新 2025年01月19日Flex事件机制的阶段有哪些

这篇文章主要为大家展示了"Flex事件机制的阶段有哪些",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Flex事件机制的阶段有哪些"这篇文章吧。

Flex事件机制中的基本概念

event objects(事件对象):所有的事件对象都是flash.events.Event或者其子类。比如说鼠标事件MouseEvent,计时器事件TimerEvent。每个事件对象中都包括事件类型(type)和事件源(target),便于event listener知道该事件的类型以及是谁抛出这样的事件。简单的理解,事件对象就是ActionScript中的各种事件类型的对象。
event dispatchers(事件源):是事件发起的主体。所有的dispatcher都是EventDispatcher或其子类。事件触发源必须提供API让listener进行对该事件的注册(register)。简单的理解,事件源就是一个控件。
event listeners(事件监听器):在AS 3.0中它往往表现为一个函数。我们必须为每个特殊的事件和事件源注册一个监听器,当事件发生的时候,事件源(dispatcher)会通知该监听器去处理制定的事件。简单的理解,监听器就是一个函数。

注册监听器

在AS 3.0中可以通过下面的语法格式进行注册。

dispatcher.addEventListener(eventName, listener);

当然在Flex中还有另外一种格式,在mxml文件中对一个控件的事件直接制定一个处理函数,如

Flex事件机制中事件阶段

我们把事件触发源分为两类:一类是那些显示在界面中的元素抛出的事件,一类是那些不在界面中显示的元素抛出的事件。很简单,举个例子:***类如URLLoader对象去load图片或其他资源所抛出的如complete事件,就属于***类。界面上的一个按钮所抛出的click事件就是第二类,它会触发一个事件流,引发一系列的事件,它又分三个阶段:捕获(capture),执行(target) 和冒泡(bubble),姑且这样表达这三个阶段。

捕获阶段(capture)

在这个阶段,Flash Player会去查找事件的触发源,它是通过根显示元素(root display object)逐层向下寻踪,直到找到事件的发起源头,如你在button上click后,Flash Player找到的事该button对象。在这个阶段监视器(listener)默认是不会收到任何消息的(默认只在target和bubble阶段收到消息)。

如果你想在捕获阶段让listener收到消息并有所动作,那么你可以在注册的时候改变第三个参数为true,如下面的方法:object.addEventListener(MouseEvent.CLICK, onClick, true);

该阶段听起来很陌生,事实上它很少使用。但它却在事件流中扮演很重要的角色。它可以在事件到达子元素(child elements)之前被application捕获,当然也就可以阻 止事件到达子元素。

目标执行阶段(target)

在这个阶段是事件的执行阶段,也就是我们常用的用来处理事件流的代码。

冒泡阶段(bubble)

***的这个阶段其实就是***个阶段的逆向过程。它就是在事件代码执行完毕后通过子元素逐级向父元素发出该事件,一直到根元素。在这个阶段你不需要特别的为监听器指定什么,你只要正常的注册事件就可以了。监听器会在该阶段收到通知。但前提是该事件是能够bubble的。

垃圾回收

Flash Player是通过引用计数器(reference counting)以及标记与清除(mark and sweep)来实现垃圾回收的。

引用计数器简单的讲就是给每个对象分配的技术器,一旦该对象的计数器为0时,就表示该对象可能不再被使用,可以安全的清除了。它的弊端就是不能解决循环引用问题,一旦出现循环引用,就不能通过该方法进行垃圾回收。

而标记与清除(mark and sweep)就是为了解决循环引用问题的。它是通过在程序中遍历每个活动的、可到达的节点,一旦发现一些节点是处在活动节点之外的,就被认为不再有用,就可以被回收了。

这两种机制是联合运行在垃圾回收过程中来保证正确回收资源。但他们并不能回收程序错误导致的垃圾。而监听器的注册就最容易导致这个问题的发生。

以上是"Flex事件机制的阶段有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

事件 阶段 对象 就是 元素 监听器 监听 机制 垃圾 三个 内容 函数 消息 界面 篇文章 类型 节点 计数器 问题 处理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发外包生产厂家 网络安全证书不受信任如何改 江苏交友软件开发价格表 陕西土地资产管理软件开发公司 召唤英雄获取服务器列表失败 网络安全事件和风险防控 网络安全和计算机编程一样吗 阿里的服务器自带cdn 奉贤区管理软件开发售后服务 软件开发模型怎么选择 数据库多表查询结论 湖南外贸软件开发公司 部队有网络安全措施吗 临沂智淘网络技术有限公司 鱼骨软件是用什么软件开发的 移动数据服务器怎么关闭 计算机网络安全管理目录 网络安全周几月 魔兽世界不打架的服务器 启航网络技术是真的吗 宝德服务器安全模式启动 三级数据库技术分值分配 控制数据库优化方法 学网络安全哪个教育公司好 使用国家法律法规数据库 四川软件开发前景 九月网络安全法规 网络安全宣传周宁德市 大庆代驾软件开发公司 网络安全体系相关法律有几部
0