Flex事件的传播路径
<mx:Application>
<mx:Panel>
<mx:VBox>
<mx:button id=”btn1”>
</mx:button>
</mx:VBox>
</mx:Panel>
</mx:Application>
如果最内层的按钮发出事件,那么事件传播路径就是
application->panel->vbox->button,事件的传播路径是唯一的
事件的传播依次经历“捕获”,“目标”,“冒泡”,“目标”四个阶段
捕获和目标(从外到内)
如上段代码中的btn1发出事件,最外层appliaction检查自身是否定义了时间A的捕捉者;如果定义了捕获者,随即响应;如果没有定义,事件继续想内层传播。依次向内传播,当传播到Vbox,事件传播路径走到尽头,捕捉阶段结束
目标和冒泡(触发事件捕获者来捕捉事件,同时沿着路径继续向上传播)
Btn1最新捕捉到事件,随即响应,事件好不等待,继续向外层冒泡。依次向往传播事件。
事件流呈现V字形,事件对象沿着传播路径先由外向内传播,然后再由内向外传播。无论捕捉还是冒泡,两个阶段中都能通过“目标”捕捉到事件对象,最常用的是在冒泡阶段对事件捕捉。
注意:
1、 如果在捕捉/目标阶段捕捉事件,那么冒泡、目标阶段将无效,不能捕捉事件;反之依然
2、 如果想捕捉两阶段的同一事件,则可以变相通过定义多个事件捕捉者来实现
发出事件:
事件发起者.dispatchEvent(事件对象)
通过此方法把事件对象传播出去
Button1.dispatchEvent(myevent);
捕捉时间:
事件捕捉者.addEventListener(事件名称,响应函数);
事件捕捉者监听某事件是否传递到此,捕捉到该事件后,把事件作为参数给响应者处理
Panel.addEventListener(event1.EVENT_NAME,handdle);
事件传播过程中当前经过的对象:
事件对象.currentTarger.id
事件在传播路径上传播,被一个捕捉着捕捉到,id就是该捕捉者的id
在捕捉/目标阶段捕捉事件,需要设置addEventListener的第三个参数为true,默认为false
Panel.addEventListener(event1. EVENT_NAME,handle,true);
在冒泡阶段捕捉事件,需要在定义事件的时候,显式地设置基类的构造函数的第二个参数为true,这样该事件就会向外层冒泡.
Super(par_eventName,true);
同时,addEventListener函数的第三个参为false。
Panel.addEventListener(event1. EVENT_NAME,handle,false);
在冒泡和捕捉阶段都捕捉事件
需要在定义事件时,显式地设置基类的构造函数的第二个参数为true,这样该事件就会向外层冒泡.
Super(par_eventName,true);
同时编写两个同一事件的监听函数addEventListener,其中useCapture即第三个参数为true,另一个为false,响应函数可以相同,也可以不同。
Panel.addEventListener(event1. EVENT_NAME,handle,true);
Panel.addEventListener(event1. EVENT_NAME,handle,false);
或
Panel.addEventListener(event1. EVENT_NAME,handle1,true);
Panel.addEventListener(event1. EVENT_NAME,handle2,false);
分享到:
相关推荐
linux内核解释 linux内核解释 详解
ARM7内核详解ARM7内核详解ARM7内核详解ARM7内核详解ARM7内核详解ARM7内核详解ARM7内核详解ARM7内核详解
详解介绍了事件内核对象的在多线程编程中的使用。很不错的哦,呵呵,多多指教,
linux内核Makefile详解 linux内核Makefile详解 linux内核Makefile详解 linux内核Makefile详解 linux内核Makefile详解
ucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解.rarucosII内核详解....
cortex m4 内核介绍 详解 cortex m4 内核介绍 详解
Linux内核结构详解.rarLinux内核结构详解.rarLinux内核结构详解.rarLinux内核结构详解.rarLinux内核结构详解.rarLinux内核结构详解.rar
对linux内核参数一个详细的说明,以便于对linux参数有一个清晰的认识。在安装ORACLE产品时特别有用。
Linux内核结构详解教程,经典的教程,pdf版
Linux IRQ 内核代码详解-Linux IRQ 内核代码详解-Linux IRQ 内核代码详解
Linux内核网络系统详解;很不错的资料
ARM7内核详解 华东师范大学计算机系嵌入系统实验室,
linux内核系统文件详解
Linux操作系统内核编译详解Linux操作系统内核编译详解Linux操作系统内核编译详解Linux操作系统内核编译详解
linux内核编译详解 内核简介 内核版本号 为什么重新编译内核 内核编译模式 新版本内核的获取和更新 内核编译
史上最全linux内核配置详解。对于每一个配置选项,用户可以回答"y"、"m"或"n"。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统...
嵌入式Linux内核移植详解,配套的开发板为 S3C2440.
ucosII内核详解,基于邵贝贝那本书的整理还有一些移植的案例,附加代码
一个很好的linux内核开发详解,大家快来看吧,不错哦