`
全能骑士
  • 浏览: 68903 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

对Flex事件原理的理解

    博客分类:
  • FLEX
阅读更多
1.事件流
“事件流”说明事件对象如何在显示列表中穿行。显示列表以一种可以描述为树的层次
结构形式进行组织。位于显示列表层次结构顶部的是舞台,它是一种特殊的显示对象容器,
用作显示列表的根。舞台由 flash.display.Stage 类表示,且只能通过显示对象访问。每个显示对象都有一个名为 stage 的属性,该属性表示应用程序的舞台。
从概念上来说,事件流分为三部分。第一部分称为捕获阶段,该阶段包括从舞台到目标
节点的父节点范围内的所有节点。第二部分称为目标阶段,该阶段仅包括目标节点。第三部
分称为冒泡阶段。冒泡阶段包括从目标节点的父节点返回到舞台的行程中遇到的节点。


2.事件流信息
其余 Event 类属性包含有关事件对象及其与事件流的关系的重要信息,如以下列表所述:
bubbles 属性包含有关事件流中事件对象参与的部分的信息。
eventPhase 属性指示事件流中的当前阶段。
target 属性存储对事件目标的引用。
currentTarget 属性存储对当前正在处理事件对象的显示列表对象的引用。


3.停止事件流
可以调用 Event.stopPropogation() 方法或 Event.stopImmediatePropogation() 方法来阻
止在事件流中继续执行事件对象。这两种方法几乎相同,只有在是否允许执行当前节点的其
它事件侦听器方面不同:
Event.stopPropogation() 方法可阻止事件对象移动到下一个节点,但只有在允许执行当前节点上的任何其它事件侦听器之后才起作用。
Event.stopImmediatePropogation() 方法也阻止事件对象移动到下一个节点,但不允许执行当前节点上的任何其它事件侦听器。
调用其中任何一个方法对是否发生与事件关联的默认行为没有影响。使用 Event 类的默认
行为方法可以阻止默认行为。


4.取消默认事件行为
与取消默认行为有关的两个方法是 preventDefault() 方法和 isDefaultPrevented() 方法。调用 preventDefault() 方法可取消与事件关联的默认行为。要查看是否已针对事件对象调用了 preventDefault(),请调用 isDefaultPrevented() 方法,如果已经调用,该方法将返回值 true,否则返回值 false。
仅当可以取消事件的默认行为时,preventDefault() 方法才起作用。可通过检查事件对象的cancelable 属性来确定是否属于这种情况。取消默认行为对事件对象通过事件流的进度没有影响。使用 Event 类的事件流方法可以从事件流中删除事件对象。


5.调度事件
高级程序员可以使用 dispatchEvent() 方法将自定义事件对象调度到事件流。该方法唯
一接受的参数是对事件对象的引用,此事件对象必须是 Event 类的实例或子类。调度后,
事件对象的 target 属性将设置为对其调用了 dispatchEvent() 的对象。


6.检查现有的事件侦听器
IEventDispatcher 接口的最后两个方法提供有关是否存在事件侦听器的有用信息。如果
在特定显示列表对象上发现特定事件类型的事件侦听器, hasEventListener() 方法将返回true。如果发现特定显示列表对象的侦听器,willTrigger() 方法也会返回 true。但 willTrigger()不但检查该显示对象上的侦听器,还会检查该显示列表对象在事件流所有阶段中的所有父级上的侦听器。
0
0
分享到:
评论

相关推荐

    flex 事件流原理

    Flex 事件流是Flex应用程序中事件处理的核心机制,它使得组件之间能够有效地通信和响应用户交互。在深入探讨之前,我们需要理解几个基本概念。 1. **事件机制**:事件是Flex中的一种通信方式,当特定条件满足时,...

    Flex框架的基本原理.docx

    通过这些基本原理,开发者能够理解Flex框架如何组织和控制应用程序的运行,从而更好地利用其强大的功能来构建复杂的用户界面和业务逻辑。Flex框架提供了一套完善的组件库,支持数据绑定,使得开发RIA变得更加便捷和...

    编译原理flex例题资源包

    编译原理是计算机科学中的一个重要领域,它研究如何将高级编程语言转换为机器可以理解的低级指令。Flex,全称“Fast ...总之,这个资源包对于深化对编译原理的理解,特别是Flex工具的使用,提供了宝贵的实践素材。

    编译原理(FLEX&bison).zip

    《编译原理——深入理解FLEX与BISON》 编译原理是一门深入探讨计算机语言翻译过程的学科,它涉及到词法分析、语法分析、语义分析等多个阶段。在实际编程工作中,FLEX和BISON是两个常用的工具,用于实现编译器的词法...

    flex数据绑定的原理

    通过理解这些原理,开发者可以更好地利用Flex的数据绑定功能,创建出响应迅速且易于维护的用户界面。同时,需要注意的是,过度使用数据绑定可能会增加内存占用和运行时开销,因此在设计时需要权衡其使用。

    FLEX事件监听样例(JAVA代码)

    虽然压缩包中的`Test`文件没有给出具体代码,但我们可以通过以下简化的示例来理解Java处理Flex事件的基本过程: ```java public class FlexEventProcessor implements MessageBroker.MessageListener { @Override ...

    flex的事件详解

    为了更好地理解事件流的工作原理,我们可以考虑一个简单的Flex应用程序示例,该程序包含多个嵌套容器和一个按钮。假设这个界面如下所示: - 顶层容器:`root` - 中间容器:`container1` - 内部容器:`container2` - ...

    编译原理flex.exe工具包.zip

    总的来说,【编译原理flex.exe工具包】是一个重要的教育资源,它提供了一种直观的方式,让学生和开发者实践编译器的词法分析阶段,从而加深对编译原理的理解。无论你是计算机科学的学生,还是想独立创建语言的开发者...

    编译原理flex工具包

    3. 生成词法分析器:使用Flex命令行工具对规则文件进行处理,生成词法分析器的C源代码,如`flex lex.l`。 4. 编译词法分析器:使用C或C++编译器编译生成的源代码,如`gcc lex.yy.c -lfl`,其中-lfl链接了Flex库。 5....

    flex 事件学习

    学习Flex事件时,查看源码有助于理解其内部工作原理。例如,通过阅读Flex SDK中的相关类,如`Event`、`EventDispatcher`等,可以了解事件系统是如何实现的。同时,开发工具如Flash Builder或IntelliJ IDEA的Flex...

    编译原理实验MiniPascal编译器设计 Flex+Bison

    总之,通过这个“编译原理实验MiniPascal编译器设计 Flex+Bison”项目,学习者将深入理解编译器的工作流程,掌握词法分析和语法分析的关键技术,并具备实际动手实现一个小型编译器的能力。这对于提升编程技能和深入...

    flex 关于事件的例子

    Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的框架,主要基于...通过理解和实践这个“flex 关于事件的例子”,初学者能够掌握Flex中事件处理的基本原理和用法,为构建交互式Flex应用打下坚实基础。

    flex-编译原理-计数器

    在深入探讨`flex`编译原理以及如何模拟计数器之前,我们首先需要理解什么是`flex`。`flex`(以前称为`lex`)是一种词法分析器生成器,用于处理源代码中的文本模式匹配。它接收一个用特定语法描述的输入文件(通常...

    top_down.rar_flex_编译原理flex

    编译原理是理解Flex程序运作的核心理论基础。它包括词法分析、语法分析、语义分析和代码生成四个阶段。词法分析正是Flex的专长,它负责将源代码分解成一系列的标记(tokens),这些标记是后续语法分析的基础。在Flex...

    编译原理之flex词法分析工具

    对于学习编译原理的学生来说,flex是一个很好的实践工具,它可以帮助理解词法分析的概念,并将理论知识应用到实际项目中。 总结起来,flex是实现词法分析的利器,它简化了编写识别源代码中不同符号的代码过程。通过...

    flex4 学习全部资料

    通过API文档,你可以了解每个类的功能、属性、方法和事件,这对于深入理解和使用Flex4至关重要。 三、Flex学习文档 学习文档通常包含了Flex4的基础知识,如MXML和ActionScript3语法、组件使用、数据绑定、事件处理...

    flex&bison 编译原理必备 windows实测可用

    总结来说,flex和bison是深入理解编译原理和实现编译器的利器。通过学习和使用这两个工具,不仅可以提升你的编程技能,还能让你对软件背后的工作原理有更深刻的认识。无论你是计算机科学的学生还是专业的软件工程师...

    flex教程_chm

    API(Application Programming Interface)文档详细列出了Flex框架提供的所有类、方法、属性和事件,这对于理解Flex组件的工作原理、创建自定义组件以及优化代码性能至关重要。通过这个API文档,开发者可以迅速查找...

    精通flex 官方源代码

    《精通Flex官方源代码》是针对Adobe Flex技术的一份宝贵资源,它包含了深入理解Flex框架、组件和编程原理的关键信息。Flex是一种用于构建富互联网应用程序(RIA)的开放源代码框架,主要基于ActionScript和MXML。...

Global site tag (gtag.js) - Google Analytics