1、 创建一个Flex Project,名称为:Demo;
2、 切换到Design模式下,添加一个Panel和一个Button,其效果如下:
3、 切换到Source模式下,为程序添加事件,其代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private function showDif(event:MouseEvent):void
{
Alert.show("目标ID = " + event.target.id +
"\n 当前目标ID = " + event.currentTarget.id);
}
]]>
</fx:Script>
<s:Panel x="104" y="113" width="250" height="200"
title="target和currentTarget" fontSize="14"
fontFamily="Times New Roman" color="#F30909"
id="panel_object">
<s:Button x="89" y="54" label=" 测 试 " id="button_object"
click="showDif(event)"/><!—事件由Button控制-->
</s:Panel>
</s:Application>
单击测试按钮,效果如下:
4、 修改源程序,事件由Panel触发,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private function showDif(event:MouseEvent):void
{
Alert.show("目标ID = " + event.target.id +
"\n 当前目标ID = " + event.currentTarget.id);
}
]]>
</fx:Script>
<s:Panel x="104" y="113" width="250" height="200"
title="target和currentTarget" fontSize="14"
fontFamily="Times New Roman" color="#F30909"
id="panel_object" click="showDif(event)"><!—事件由Panel触发-->
<s:Button x="89" y="54" label=" 测 试 " id="button_object" />
</s:Panel>
</s:Application>
运行程序后,点击测试按钮以及点击Panel面板,效果如下:
记住:
① target对象总是抛出事件的对象,currentTarget对象是处理事件的对象,很多情况下他们是相同的,但不总是这样。
② 所有Event对象都有target 和currentTarget属性,target 属性可引用事件分派对象,currentTarget属性可引用正在被检测事件监听器的当前节点。
③ 在事件将在控件链中向上冒泡,在此过程中target 始终不变,currentTarget在每个向上移动的过程中及时改变。
④ 例如当用户点击一个Button控件,很可能事件派发者是Button的内部子组件UITextField,事件向上冒泡过程中target 始终为 UITextField不变,但currentTarget会逐步冒泡到Button组件,这时,触发了在Button上监听的Click事件处理函数。
⑤ 开发人员一般使用event.currentTarget属性,event.target 属性很少使用。
相关推荐
Flex事件机制还提供了事件冒泡阻止(stopPropagation)和事件默认行为阻止(preventDefault)的功能。stopPropagation可以阻止事件继续在组件树中冒泡,而preventDefault则可以阻止事件的默认行为,如链接的跳转或...
【Flex 事件机制详解】 Flex 事件机制是 Flex 应用程序中不可或缺的一部分,它使得组件之间能够有效地通信,响应用户交互以及管理应用程序状态。在深入理解 Flex 事件机制之前,我们需要先了解一下基本概念。 1. *...
Flex4.5事件机制是Flex应用程序开发中的核心组成部分,它基于ActionScript 3.0的事件模型,并且遵循DOM3级事件规范。事件机制使得开发者能够轻松响应用户交互和系统事件,为Flex程序员提供了强大且直观的处理工具。 ...
Flex事件机制是Adobe Flex应用程序中处理用户交互和组件通信的核心组成部分。它主要涉及事件流、事件处理程序以及事件对象的概念,这些在构建富互联网应用程序(RIA)时扮演着至关重要的角色。下面将对这些概念进行...
### Flex事件机制详解 #### 一、引言 Flex是一个强大的框架,用于构建高性能的Web应用程序。对于初学者而言,理解和掌握Flex中的事件机制是非常重要的一步。本文将深入探讨Flex事件机制的基础概念、事件注册通道、...
在Flex中,事件机制的分发主要包括三个主要阶段:捕获阶段、目标阶段和冒泡阶段。下面将详细介绍这些阶段以及自定义事件的创建与分发。 1. **捕获阶段**: 在Flex事件流中,捕获阶段是从最外层的UIComponent祖先...
综上所述,理解和熟练运用Flex事件机制对于开发高质量的Flex应用程序至关重要。通过有效地利用事件监听、派发和管理,可以创建出响应迅速、功能丰富的用户界面。学习并掌握这些知识点,将使你在Flex编程中游刃有余。
### 深入浅出讲解Flex中的事件机制 #### 一、引言 Flex是一种用于构建高度交互式、跨平台的Web应用程序的技术框架。它基于Adobe的Flash平台,并且使用ActionScript 3作为编程语言。Flex的核心优势在于其强大的用户...
Flex 事件流是Flex应用程序中事件处理的核心机制,它使得组件之间能够有效地通信和响应用户交互。在深入探讨之前,我们需要理解几个基本概念。 1. **事件机制**:事件是Flex中的一种通信方式,当特定条件满足时,...
Flex事件机制是Adobe Flex框架中的核心组成部分,它允许开发者创建响应用户交互的动态应用程序。在Flex中,事件处理是通过事件监听器来实现的,这些监听器可以注册到UI组件或者应用程序本身,以便在特定事件发生时...
Flex支持两种事件传播机制:冒泡和捕获。冒泡是从最具体的节点(通常是子组件)向上逐级传播到不那么具体的节点(父组件)。捕获则相反,从最不具体的节点开始向下传播。事件监听器可以在任意阶段注册,以决定何时...
2. **事件传播**:Flex事件遵循捕获、目标、冒泡三个阶段的传播模型。开发者可以通过`addEventListener`方法监听特定事件,而`eventPhase`属性则可以帮助确定事件处于哪个传播阶段。 3. **事件处理**:在事件处理...
阅读这份文档将有助于深入理解Flex事件机制,并在实际开发中更高效地利用它们。 总之,理解Flex的事件模型对于创建响应式和高效的RIA至关重要。熟练掌握事件处理可以让你的Flex应用程序更加互动,提升用户体验。...
通过以上分析,我们可以看到Flex的事件处理机制不仅强大且灵活,而且遵循标准,易于学习和使用。无论是在构建复杂的用户界面还是实现复杂的业务逻辑方面,事件都起着至关重要的作用。掌握Flex的事件机制,有助于...
Flex事件机制还支持事件阻止和事件冒泡的阻止。通过调用event.stopPropagation(),可以防止事件继续冒泡到父级组件;而event.preventDefault()可以阻止事件的默认行为,但不会阻止事件的进一步处理。 总之,Flex...
- **合理使用事件冒泡**:理解事件冒泡机制,合理利用它可以简化事件处理逻辑,避免重复的事件监听器注册。 总之,通过深入理解Flex的事件机制和熟练掌握事件派发技巧,开发者能够构建出响应迅速、交互丰富的应用...
Flex事件机制是Adobe Flex应用程序开发中的关键组成部分,它允许组件之间进行通信,处理用户交互,以及实现复杂的逻辑。本文将深入探讨Flex事件的基础知识、事件模型、事件生命周期、事件监听器,以及如何自定义事件...
本资料包“全套 Flex 实例 源码 关于事件的处理(3)”主要关注事件冒泡机制及其管理,帮助开发者理解如何阻止事件冒泡,以及如何添加和跟踪冒泡过程。以下是关于这个主题的详细讲解。 事件冒泡是指在事件传播过程...
本文将围绕“Flex事件学习”这一主题展开,深入探讨Flex中的事件模型、事件处理机制以及相关实践案例。 首先,事件是Flex应用程序中不可或缺的一部分,它们允许组件之间进行通信和响应用户交互。在Flex中,事件模型...