Flex3自定义事件教程:创建与实现

需积分: 9 3 下载量 200 浏览量 更新于2024-08-17 收藏 88KB PPT 举报
在Flex3基础教程的第三部分,主要讲解了如何自定义事件以及事件机制的相关概念。首先,理解自定义事件的创建至关重要。在Flex中,开发者可以使用`dispatchEvent()`方法来触发一个自定义事件,如: ```javascript dispatchEvent(new Event("myEvent", true, false)); ``` 这里,`"myEvent"`是自定义事件的名称,`true`表示事件可以被冒泡(bubble),`false`表示事件不会在事件流中传播到祖先组件。接着,创建自定义事件类是关键,例如: ```actionscript public class MyEvent extends Event { // ... 定义事件属性和构造函数 } ``` 事件机制在Flex3中扮演了核心角色,它遵循观察者模式(Observer Pattern),类似于现实生活中的一些例子,如好莱坞原则(Don't call us, we'll call you),即组件之间通过事件通信,而不是直接相互依赖。在ActionScript 3 (AS3)中,通过`addEventListener()`方法绑定事件处理函数,如: ```actionscript button.addEventListener("click", onClick); ``` 当点击按钮时,`onClick`函数会被调用: ```actionscript internal function onClick(evt: MouseEvent): void { txt.text = "click a button!"; } ``` 事件机制类继承自`EventDispatcher`,它是所有可发送和接收事件的对象的基类。事件流分为三个阶段:捕获阶段(从舞台根节点开始向下检查)、目标阶段(调用目标对象自身的监听器)和冒泡阶段(从目标节点向上逐级触发监听器)。开发者可以根据需要在这些阶段定制事件处理策略。 例如,捕获阶段会先查找是否有监听器,如果找到则执行;目标阶段只针对触发事件的对象;冒泡阶段则由上至下逐层触发,直到达到最顶层或事件被取消。了解并灵活运用这些概念可以帮助开发者构建更高效、可维护的Flex应用。