加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex Event事件机制

发布时间:2020-12-15 01:02:31 所属栏目:百科 来源:网络整理
导读:FLEX事件机制包括:注册事件、触发事件、事件的传递 1、事件注册 ?? ?1.1 直接指定给函数事件: ?? ?mx:Button id="btnA" label="不传递事件对象的点击" click="onClickA()" / ?? ?mx:Button id="btnB" label="传递对象的点击" click="onClickB(event)" ?? ?

FLEX事件机制包括:注册事件、触发事件、事件的传递

1、事件注册
?? ?1.1 直接指定给函数事件:
?? ?<mx:Button id="btnA" label="不传递事件对象的点击" click="onClickA()" />
?? ?<mx:Button id="btnB" label="传递对象的点击" click="onClickB(event)">
?? ?1.2 使用AS的addEventListener()完成MXML组件的事件注册:
?? ?btnB.addEventListener(MouseEvent.CLICK,onClickB);
?? ?
?? ?事件被注册(或者说被添加了侦听器)后,当该事件发生时, 就会调用注册的事件响应函数。

2、事件触发
?? ??注册到对象上的事件发生时,就是事件的触发。事件触发后会调用注册在该事件上的事件响应函数,同时创建事件对象的一个实例,该实例会包含事件的信息。比如对事件click的触发,就是当用户使用鼠标点击注册了click事件的对象。
?? ?事件触发后,一般经历3个阶段:
?? ?2.1 捕获阶段:
?? ?FLEX应用是一层一层的关系,比如Application里有一个容器Canvas,而Canvas里有一个VBox,真正发生事件的是VBox里的一个按钮。当用户点击这个按钮时,实际上该事件会经历3个对象,第一个是Application,第2个是Canvas,第3个是VBox,最后才是事件注册的对象按钮。那么click事件自上而下地进行查找点击对象的工作,这个过程就是捕获阶段。
?? ?2.2 目标锁定阶段
?? ?当自上而下找到事件注册并触发的对象时,FLEX将会自动创建一个Event的实例,这个实例包含着整个事件的相关信息。
?? ?2.3 冒泡阶段?
?? ?与前面捕获阶段相反,冒泡阶段就是事件会向上一级传递。

3、事件传递(关键)
?? ?3.1 target和currentTarget的区别:
?? ?target:记录事件的源头
?? ?currentTarget:记录事件当前传递到的对象
?? ?3.2 阻止事件冒泡主要有两个方法:
?? ?stopPropogation()和stopImmediateProogation(),当调用任何一个方法的时候,事件的冒泡就会被阻止,事件流将不会向上层传递。
?? ?如果当前对象上注册了多个事件,则使用stopPropogation(),因为并不希望当前对象上的其他事件还没执行就被中止。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读