Flex事件机制

本文解析了事件流的概念,包括捕获阶段、目标阶段和冒泡阶段,并介绍了如何利用EventDispatcher进行事件分发。此外,还提供了自定义事件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      事件流按运行流程分为3步

      1、捕获阶段:捕获事件 capturing,从根节点开始顺序而下,检测每个节点是否注册了监听器。同时,Flex 将事件对象的currentTarget 值改为当前正在检测的对象。如果注册了监听器,则调用监听函数。

      2、目标阶段:检测目标的监听器 targeting:触发在目标对象本身注册的监听程序

      3、冒泡阶段:事件冒泡 bubbling:从目标节点到根节点,检测每个节点是否注册了监听器,如果有,则调用监听函数。

      每个事件对象都有以下属性

      target:事件的派发者

      currentTarget:当前正在检测的的对象,帮助跟踪事件传播的过程。

      当事件发生时,FLEX通过事件的分发器EventDispatcher进行事件分发,分发的顺序是:从上往下到达目标,然后从下往上,从目标开始返回。

      在事件的流经过程中,不是目标的对象如果注册了事件,也有了相应的事件响应函数,使得不是目标的对象也响应了事件的处理

      addEventListener在只有如上两个参数的情况下是关闭捕获阶段的,也就是说事件流是从目标阶段开始的,然后是冒泡阶段

      自定义事件

      1.创建自定义事件名称的Event

      dispatchEvent(new Event(“myEvnet”,true,false)); 

      2.创建自定义事件类

      Public class MyEvent extends Event{

      ….

      }

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值