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()不但检查该显示对象上的侦听器,还会检查该显示列表对象在事件流所有阶段中的所有父级上的侦听器。
分享到:
相关推荐
编译原理实验——flex词法分析 flex源程序
对于学习编译原理的学生来说,flex是一个很好的实践工具,它可以帮助理解词法分析的概念,并将理论知识应用到实际项目中。 总结起来,flex是实现词法分析的利器,它简化了编写识别源代码中不同符号的代码过程。通过...
本次资源就是针对一次编译原理实验,实验的内容就是用flex工具自动构造词法分析程序
总结起来,在Windows环境下,使用Flex和Bison可以方便地构建自定义的词法分析器和语法分析器,这对于理解和实现编译器原理,或是开发新的编程语言具有极大的帮助。理解并熟练运用这两款工具,能够让你在编程语言设计...
《编译原理——深入理解FLEX与BISON》 编译原理是一门深入探讨计算机语言翻译过程的学科,它涉及到词法分析、语法分析、语义分析等多个阶段。在实际编程工作中,FLEX和BISON是两个常用的工具,用于实现编译器的词法...
通过分析和调试`test1`这样的例题,学习者可以深入理解Flex的工作机制,从而更好地掌握编译原理中的词法分析部分。此外,这些例题还可能涉及到如何与其他编译器组件(如Bison用于语法分析的工具)集成,以及如何构造...
通过实验过程,学生不仅可以学习到Flex工具的使用方法,还能够深入理解编译原理中词法分析器的设计原理和实现方式。此外,完整的软件文档编写也是非常重要的,它有助于理解程序的设计思路,方便后续的维护和改进。
《Windows下词法分析分析器Flex和语法分析器Bison的使用详解》 在计算机科学领域,词法分析和语法分析是编译器设计的重要环节。Flex和Bison是两个强大的开源工具,分别用于词法分析和语法分析,尤其在Windows环境下...
这个压缩包包含了一系列与Flex相关的文件,让我们逐一解析它们来深入了解Flex的工作原理和应用。 1. `Flex.exe`: 这是Flex的主要执行文件,用户通过运行这个程序并指定输入的规则文件(通常以`.l`为扩展名),Flex...
为了更好地理解事件流的工作原理,我们可以考虑一个简单的Flex应用程序示例,该程序包含多个嵌套容器和一个按钮。假设这个界面如下所示: - 顶层容器:`root` - 中间容器:`container1` - 内部容器:`container2` - ...
Flex工具包是编译原理学习和实践中不可或缺的一部分,主要用于创建词法分析器(lexer)或扫描器。在编译器设计领域,词法分析是编译过程的第一步,它将源代码分解成一个个称为标记(token)的独立单元,这些标记随后...
在计算机科学领域,词法分析是编译器...通过学习和实践这些资源,你可以掌握如何利用Flex自动生成词法分析器,这对于理解编译器工作原理和开发自己的解析工具至关重要。记得,理论与实践相结合,是提升编程技能的关键。
本篇文章将深入剖析Flex体系架构的各个核心组成部分,帮助读者理解其工作原理。 一、Flex SDK Flex SDK是Flex开发的基础,它包含了编译Flex应用所需的工具和库。其中最重要的组件是MXML编译器,它可以将MXML和...
在编译原理的实验报告中,我们需要使用flex语言编写一个词法分析器,该词法分析器能够读进一个文件,对该文件进行词法分析,并统计各类型数据的个数。 词法分析器是编译器的第一阶段,它的主要任务是将源程序分割成...
总的来说,【编译原理flex.exe工具包】是一个重要的教育资源,它提供了一种直观的方式,让学生和开发者实践编译器的词法分析阶段,从而加深对编译原理的理解。无论你是计算机科学的学生,还是想独立创建语言的开发者...
《自顶向下Flex程序解析与编译原理探析》 在计算机科学领域,编译器是连接高级语言和机器语言的桥梁,而Flex则是构建词法分析器的工具,广泛应用于编译器和解释器的开发。本篇将深入探讨“自顶向下”的Flex程序设计...
- **实验内容**:可能包括编写词法分析器,例如使用 Lex 或 Flex 工具,或者手动编写解析函数,实现对特定语言源代码的词法分析。 - **实验过程**:描述如何定义词法规则,如何处理各种类型的词法单元,以及如何测试...
在这个“词法分析flex源代码实验报告”中,我们将深入探讨这个过程及其背后的原理。 在词法分析阶段,flex会读取源代码文件,并基于预定义的规则(通常在`.l`文件中定义)识别出不同的语言元素,如关键字、标识符、...
总之,通过这个“编译原理实验MiniPascal编译器设计 Flex+Bison”项目,学习者将深入理解编译器的工作流程,掌握词法分析和语法分析的关键技术,并具备实际动手实现一个小型编译器的能力。这对于提升编程技能和深入...