谈谈Flex中的事件流的理解

Advertisement

今天上课的时候看了Flex的事件流,看得云里雾里的,回来又好好看了下,有了点自己的理解,也不知道对不对,大家正在学的话可以参考下哈.
事件流包括了三个阶段,即捕捉阶段,定位阶段,冒泡阶段。所谓捕捉阶段主要涉及到从根结点到目标节点的父节点之间的所有节点。当执行本阶段的时候,Flash Player是从根结点开始的不断检测没过节点,看是否注册此事件。该阶段不会进行处理。其次就是定位阶段了,定位阶段的话主要就是涉及本节点了,会进行相应的注册事件处理。最后就是冒泡阶段了,该阶段跟捕捉阶段有点类似,只是检测节点的顺序是反的,是从父节点检测到根结点,所以改过程也叫回溯阶段。
还有点值得注意的,只能为可以触发一个事件的对象注册此事件的listener,比如说form控件就没有click属性注册事件。而且只有可视化的控件或容器才有捕捉和冒泡阶段
,非可视的对象只能在定位阶段被触发,它无法参与其他两个阶段。

Similar Posts:

  • 关于Flex中自定义事件

    事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编写的灵活性.在高级语言中都会集成这方面特性:Flex也不例外几乎所有控件中都集成了大量的事件,如果Button的Click事件等.但实际应用中控件自有的事件是不能满真实需要的,特别在自己编写自定义控件时,自定义控件内部信息的改变如何及时通知所在的容器变得很更要:这个时候自定义事件就起到它的作用. 在Flex中定义事件有两中情况,分别是ActionScript和MXML中定义. 在ActionScript中定义: [Event(name=

  • flex中的事件机制

    1. 什么是事件机制 事件可以看作是一种触发机制,当满足了一定的条件后,会触发这个事件.比如MouseEvent就是指的当鼠标进行操作之后触发的一系列的事件.很多控件中都有click事件,这个事件就是一个MouseEvent的实例,当点击鼠标后,系统会自动抛出一个名称为click的MouseEvent事件(这种方法我们将在后面介绍到).如果此时在click上注册一个方法,那么触发该事件时就会执行这个方法. 2. 事件的注册 1.<mx:Button id="btnB" label

  • 谈谈Flex中ArrayCollection的复制(克隆)

    在Flex的开发过程中,常常会遇到复制ArrayCollection的情况.以前只是从网上找个方法拿来就用,也没有具体的搞清楚所以然来.今天有时间,研究了一下,总结如下: Flex中的复制同java一样,也分为深复制和浅复制.(如果您对java的深复制和浅复制理解不深的话,可以参考我前一篇文章:JAVA中浅复制与深复制) 下面总结一下ArrayCollection的浅复制,共有4种方法: 1.var newArray:ListCollectionView=new ListCollectionVi

  • flex中双击事件的实现

    在flex中有时实现双击事件可能不能响应,那是必须将doubleClickEnabled属性置为true.

  • Flex中利用事件机制进行主程序与子窗体间参数传递

    在开发具有子窗体,或者itemrenderer的应用时,常常涉及到子窗体向父窗体传递参数或者从itemrenderer内的控件向外部的主程序传递参数的需求.这些都可以通过事件机制这一统一方法加以解决. 在我的应用中有两个需求: 1.左侧的List控件的itemrenderer中包含CheckBox控件,当其状态改变时需要同时改变主程序中的一个数组变量的内容: 2.左下方的"新增届次"按钮会弹出一个窗口,窗口中输入届次信息后需要修改数据库中的表,同时表的更改结果要能够在List控件中体现

  • as/flex 中添加事件addEventListener()时传递参数

    /** * @author:ycccc8202 * @用途:注册事件进行传递参数的代理类 * @date:2007.8.26 * @example: * import com.ycccc.utils.JEventDelegate stage.addEventListener(MouseEvent.MOUSE_DOWN,JEventDelegate.create(mouseDownHandler,"a","b")); function mouseDownHandler

  • AS、Flex的事件流学习笔记

    在AS3.0的事件模型中增加了事件流的概念.所谓"流",那就显然应该有一个流向. 在AS3.0中的事件流亦是如此,不过稍有不同,它的流向是双向的: 捕获,这是指事件从根节点一直顺序而下,一直找到发出事件的这个对象为止,发出事件的这个对象称之为目标对象.在这个过程中,会检查经过的每个节点是否注册了监听器,同时,Flex会将事件对象的currentTarget值改为当前正在检测的这个对象,如果当前对象注册了监听,那么则调用监听函数. 冒泡,这是指从发出事件的对象开始,一直顺序向上,找到根节

  • Flex Builder教程及Flex中repeater循环用法示例

    点击这里使用RSS订阅本Blog: 摘自http://blog.csdn.net/zzr173/archive/2008/07/05/2613156.aspx 一,概述 二,使用MXML组件构建用户界面 三,数据绑定 四,界面布局和导航 五,使用CSS格式化组件 六,使用特效丰富用户体验 七,使用ActionScript处理事件 八,数据服务器访问概述 九,HTTPService 十,WebService 十一,Flex Data Services 十二,其它RemoteObject技术 十三,

  • HTML 事件(三) 事件流与事件委托

    本篇主要介绍HTML DOM中的事件流和事件委托. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. HTML 事件(四) 模拟事件操作 目录 1. 事件流 1.1 何为事件流 1.2 事件流的三个阶段 1.3 addEventListener()注册事件流的阶段 1.4 阻止事件流的传播 2. 事件委托 2.1 何为事件委托 2.2 ul.li场景示例 2.3 JQuery的事件委托 2.3.

  • Flex 理解事件流和事件冒泡

    不论何时触发事件,Flash Player都会发布事件.如果事件目标不是屏幕上的可视元素,Flash Player可以直接向指定目标发布事件对象,例如Flash Player会直接向HTTPService组件发布result事件.然而,如果是屏幕中的可视元素,Flash Player发布事件时会让事件从最外部容器(即Application)开始向下传递到目标组件,然后回到Appliation容器. 事件流描述了事件对象如何在应用程序中进行传递. 事件流从概念上可分为3个部分: 1. 捕获期 包含

Tags: