`

v2_02 了解事件对象和冒泡

    博客分类:
  • flex
阅读更多
v2_02 Understanding the event object and bubbling flex了解事件对象和冒泡
 
事件传播的特性
它包含事件处理中的捕捉,标的和冒泡三个阶段
 
事件对象
每次触发事件,事件对象就会被创建出来,每个事件都是flex框架事件类或它的子类的一个实例,并且是特定事件的存储信息
 
事件对象的某些属性是所有事件的标准属性,但另外一些属性因所发生的事件不同而不同
事件对象传递到事件监听器是可选的
 
目标对象
是一个带有有关组件实例信息的对象,该组件实例广播或发送该事件
 
这里顺带提到了debug的问题
需要安装debug版本的flash player
下载地址:http://www.adobe.com/support/flashplayer/downloads.html  选择其中的for IE
但没有找到chrome版本的,所以在调试的时候,只能把IE设置为默认浏览器了
 
从debug的图中可以看到该事件的类型,目标对象等等(有个target和currentTarget区别后面再看)
在currentTarget中找到id属性
 
看例子,例子中要注意两点
1.event类型,这里使用了具体的事件类型,而不是Event基类,当然使用Event也可以
2.event.target后面用.想自动提示,它没反映,那可以在控制中用id来点出来,再拷到这里来
private function dateChangeHandler(event:CalendarLayoutChangeEvent):void
{
Alert.show('你看我帅不啦!'+event.target.selectedDate.toDateString());
}
 
然后看看这部分代码的效果吧
private function dateChangeHandler(event:Event):void
{
Alert.show('你看我帅不啦!'+event.target.selectedDate.toDateString());
    if(event.target.id == 'returnDate' && returnDate.selectedDate > pickupDate.selectedDate){
        Alert.show('这个按钮是returnDate,pickupDate 在 returnDate之前');
    }
}
 
事件传播
1.事件传播的第一阶段是捕获阶段
  为事件监听器检查目标对象之前,应用程序将首先为监听器检查所有这一阶段所注册的父容器或祖先容器
  从最外层的祖先容器(application)到目标对象的直接容器都需要进行检查
2.事件传播的第二阶段是定标阶段
  本阶段应用程序会为目标对象上的监听器进行检查
  示例中,按钮将为事件( 如click)所注册的监听器进行检查
3.事件传播的第三个阶段是冒泡阶段
  为事件监听器检查目标对象之后,应用程序将为监听器检查所有这一阶段所注册的父容器或祖先容器
 冒泡阶段是捕获阶段的相反阶段,为监听器从目标对象的直接父祖先一直检查到最远的祖先
 
检查事件传播的各阶段就是解释事件对象中的target对象和currentTarget对象之间的不同点
target对象始终指向调度事件的对象
currentTarget对象始终指向当前为监视那些被调度事件而检查的对象
 
这是捕获阶段,因为要一层层向里面检查,所以currentTartget由外向内变化
在定标阶段,为事件监听器检查按钮控制,按钮控件也是事件调度器,所以它既是target也是currentTarget
 

 

 
上面这堆东西不是很好理解,还是看下代码吧
 
第一种情况:

<s:Panel x="82" y="54" width="250" height="200" title="panel"
        id="panel">
    <s:Button x="81" y="64" label="button"
                id="button"
                click="click(event)"/>
</s:Panel>

 

target:点了哪个就是哪个
currentTarget:事件在哪个上面就是哪个
分享到:
评论

相关推荐

    ISOcoated_v2_300_eci

    了解并正确使用这类色彩配置文件,对于专业设计师和印刷工作者来说至关重要,因为它直接影响到最终产品的视觉效果和客户满意度。在下载和使用ISOcoated_v2_300_eci.icc文件时,务必确保文件来源可靠,以保证色彩转换...

    mask_rcnn_inception_v2_coco_2018_01_28.tar.gz

    最近,Tensorflow添加了一些新的功能,现在我们可以扩展API来确定感兴趣的对象的像素和像素位置。要在图像上测试这个模型,你可以利用在Tensorflow网站上共享的代码。我们测试了他们最轻量级的模型mask_rcnn_...

    resnet_v2_50_299.meta.rar

    ResNet V2 50是深度学习领域中一个非常重要的卷积神经网络(CNN)模型,它的全称为“Residual Network Version 2, 50 ...同时,了解ResNet模型的结构和工作原理,对于理解深度学习领域的模型设计和优化也是十分有益的。

    St-link_v2_usbdriver_stlinkwin10_兼容WIN10_V2_ST-LINK驱动_

    ST-Link是STM32微控制器开发过程中常用的一种调试和编程工具,由意法半导体...总的来说,ST-Link_v2驱动在Win10上的安装和使用是STM32开发过程中的重要环节,正确配置和使用能够确保开发流程的顺利进行。

    mobilenet_v2_1.0_224.rar

    MobileNetV2是MobileNet系列的第二代模型,由Inception-ResNet-V2的作者Sergey Ioffe和Zbigniew Wojna等人提出。相比于第一代MobileNetV1,V2引入了"倒残差块"(Inverted Residual Blocks)的设计,解决了传统残差...

    BenderFX_v2_UNLIMITED EA_ea_ex4_

    每个EA都有其适用的市场环境和条件,过度依赖EA可能会忽略市场的人为因素和突发事件。因此,理解并适当调整EA的参数,结合人工分析,才是实现长期稳定盈利的关键。 在实际使用中,用户需要将"BenderFX_v2_UNLIMITED...

    mask_rcnn_inception_v2_coco.rar

    通过查看.pbtxt,我们可以了解网络的层结构、参数数量以及输入输出等信息,这对于理解和调整模型至关重要。 此外,压缩包还包含有Mask R-CNN对应的颜色信息和标签信息。在实例分割任务中,不同的对象实例会被赋予...

    ssd_inception_v2_coco_2017_11_17.tar.gz

    在给定的文件"ssd_inception_v2_coco_2017_11_17.tar.gz"中,包含了使用SSD Inception V2模型进行对象检测所需的所有资源,如预训练权重、配置文件等。 1. SSD(Single Shot MultiBox Detector)模型: SSD是一种...

    ST7789V2_SPEC_V1.0_ST7789_ST7789V2_ST7789V2_SPEC_V1.0_MCULCD屏SPE

    在"ST7789V2_SPEC_V1.0"的描述中,我们了解到这份资料主要针对屏幕调试工作,提供了ST7789芯片的技术规格。该芯片支持两种接口方式:MCU的I80接口和RGB接口。I80接口是一种并行接口,适合与微控制器进行数据传输,...

    resnet_v2_101_299.meta

    用于ML.NET 图像分类学习时,用到的元数据,本人从官网下载,resnet_v2_101_299.meta

    moco_v2_800ep_pretrain.pth

    moco_v2_800ep_pretrain.pth

    mobilenet_v2_weights_tf_dim_ordering_tf_kernels_1.4_224_no_top.h5

    mobilenet_v2在imagrnet上的预训练权重文件:mobilenet_v2_weights_tf_dim_ordering_tf_kernels_1.4_224_no_top.h5

    ssd_mobilenet_v2_coco_2018_03_29.tar.gz

    https://gitee.com/chde222/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md中的ssd_mobilenet_v2_coco_2018_03_29.tar.gz模型

    resnet_v2_50_299.meta

    用于ML.NET 图像分类学习时,用到的元数据,本人从官网下载,resnet_v2_50_299.meta

    glui_v2_1_beta.rar_V2 _glui_glui_v2_1_be_glui_v2_1_beta

    此次介绍的GLUI_v2_1_beta是GLUI的第二个主要版本的beta测试版,针对早期版本进行了诸多改进和增强,旨在提供更稳定、功能更丰富的界面构建工具。 GLUI的核心功能在于提供了一套完整的控件集,包括按钮、滑块、复选...

    ISOcoated_v2_300_eci.icc 以及cmyk转rgb图jar包

    在IT行业中,颜色管理是图形设计和印刷领域不可或缺的一部分。CMYK(青色、洋红、黄色、黑色)和RGB(红色、绿色、蓝色)是两种主要的颜色模型,它们分别对应于不同的颜色空间和用途。CMYK主要用于印刷,而RGB则常...

    st-link_v2_usbdriver.zip

    ST-Link_v2_USBDriver.zip 是一个用于STMicroelectronics(意法半导体)ST-Link/V2编程器和调试器的USB驱动程序包。这个压缩文件包含了一个名为ST-Link_v2_USBDriver.exe的可执行文件,该文件是安装驱动程序所必需的...

    ST-Link_V2_USBdriver

    ST-Link_V2 USB驱动是专门针对STMicroelectronics(意法半导体)的ST-Link/V2编程器和调试器的一款重要软件组件。该驱动程序主要适用于Windows XP和Windows 7操作系统,但不兼容Windows 8。如果你正在使用Windows 8...

    mask_rcnn_inception_v2_coco_2018_01_28(附代码).zip

    《深度学习在图像分割中的应用:Mask R-CNN与C++实现》 Mask R-CNN是一种先进的卷积神经网络架构,专门用于...通过研究这个实现,可以深入了解Mask R-CNN的工作原理,以及如何在实际应用中优化和部署深度学习模型。

    faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017.tar.gz

    标题"Faster R-CNN Inception ResNet v2 Atrous COCO 11_06_2017"指的是一个深度学习模型的压缩包,该模型主要用于对象检测任务。这个模型结合了Faster R-CNN(快速区域卷积神经网络)与Inception ResNet v2架构,并...

Global site tag (gtag.js) - Google Analytics