- 浏览: 12200 次
最新评论
Question: 有时我们为了减少不必要的参数传递,使用匿名方法。但假若匿名方法是个事件的侦听者时,在侦听方法结束时,为了节省内存,我们得当添加的侦听方法移除掉。
问题就产生了,因为是匿名方法,在removeEventListener(Event.Type, Funtion) 中前两个方法是必须的,第二个方法是填什么就成了问题。
Solution:
在自定义的PopupMange类中,处理弹出时,添加了Zoom效果,使窗口的出现更为自然些。 private static var zoomShow:Zoom = new Zoom(); private static var zoomHide:Zoom = new Zoom(); public static function popShowEffect(target:IFlexDisplayObject):void { zoomShow.zoomHeightFrom = 0; zoomShow.zoomHeightTo = 1; zoomShow.zoomWidthFrom = 0; zoomShow.zoomWidthTo = 1; zoomShow.play([target]); } public static function popHideEffect(target:IFlexDisplayObject):void { zoomHide.zoomHeightFrom = 1; zoomHide.zoomHeightTo = 0; zoomHide.zoomWidthFrom = 1; zoomHide.zoomWidthTo = 0; zoomHide.play([target]); } public static function createPopUp(parent:DisplayObject, className:Class, modal:Boolean = false, childList:String = null):IFlexDisplayObject { popShowEffect(popUp); return mx.managers.PopUpManager.createPopUp(parent, className, modal, childList); } 但在removePopup()时,我们同样使用效果,但效果结束时,才是真正的移除弹出的窗口。
这时,需要给Zoom对象添加EffectEvent.EFFECT_END事件侦听者,同时当侦听器执行完,移除该侦听者。
解决办法如下: public static function removePopUp(popUp:IFlexDisplayObject):void { popHideEffect(popUp); zoomHide.addEventListener(EffectEvent.EFFECT_END,f unction(evt:EffectEvent):void { if (popUp!= null) { popUp.removeEventListener(MoveEvent.MOVE, doMove); } mx.managers.PopUpManager.removePopUp(popUp); evt.target.removeEventListener(EffectEvent.EFFECT_ END, arguments.callee); }); }
发表评论
-
Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
2012-07-06 09:52 548Oracle 函数大全(字符串函数,数学函数,日期函数 ... -
python yamal 配置格式
2012-07-06 09:46 793Python App Engine 应用 ... -
如何替换你的LOGO
2012-07-06 09:30 601为了改变标志的商店在Magento请使用以下指令: ... -
JavaScript刷新iframe的方法
2012-07-05 20:45 630代码: 隐藏显示 方法1最妥当,支持跨域。其实我 ... -
android 为 ListView Item中的组件添加事件 以及更新数据
2012-07-03 13:44 1007// 部分代码如下: 其中holder.count 是 ... -
Flex中取DataGrid里的值
2012-07-02 12:50 528用outerDocument来取mx:itemRender ... -
Mate-基于标签的框架
2012-07-02 12:49 669Mate 将会成为Flex领域的另一个热点。它使用设置(c ... -
分页组件(引用Super Flex文章)
2012-07-02 12:49 542这套组件 主要是用到了LinkButton和Repeate ... -
Flex:在有序DataGrid顶部添加新行
2012-07-02 12:49 421... -
flex 中Scroller的使用
2012-07-02 12:49 748height="100%"> ... -
Flex 开发框架汇总
2012-07-01 10:17 579现有成熟常用的Flex ... -
Flex 数据易犯错误: 常见误用和错误
2012-07-01 10:17 664在某些情形下,绑定操作似乎不能正常工作,此时你可能非常懊恼 ... -
ArcGIS Flex API Flexviewer使用
2012-07-01 10:17 554开发Widget开发工具:Flex Builder3 开 ... -
[nginx] LEMP构建高性能WEB服务器(第二版) 还没有试验,今天准备
2012-07-01 10:16 675前言: 本文 ... -
Flash WebGame 开发经验心得和PureMVC框架细说(2011-06-29 21:00:52)
2012-06-30 16:42 665Flash WebGame 开发经验心得和PureMVC框架细 ... -
基于Adobe AIR的社交应用开发及案例研究
2012-06-30 16:42 787基于Adobe AIR的社交应用开发及案例研究 2011年0 ... -
大话flex
2012-06-30 16:42 548大话flex 2010年07月04日 前序 我想做点什么 ... -
[转] [flash/flex] 第二章 第二节: 嵌入式资源-as3-javaeye技术网站
2012-06-30 16:42 688[转] [flash/flex] 第二章 第二节: 嵌入式资 ...
相关推荐
8种加密狗侦听工具8种加密狗侦听工具8种加密狗侦听工具
关于时间控制侦听函数的频率比逐一侦听类型好。。
首先简要介绍了网络侦听的原理及其潜在的安全隐患,讲述了侦听技术在Unix和Windows环 境下的几种实现技术;说明了如何检测侦听器的存在;最后提出了一种切实可行的、用来消除网络侦听 的方案。
用于在服务器端侦听上传到服务器的数据。该工具是用C#编写的 ,使用的时候只要侦听端口号,以及要创建相应的数据库表。
注释方法以用作传感器事件的侦听器。 有四种可能的注释:@OnSensorChanged、@OnAccuracyChanged、@OnSensorNotAvailable和@OnTrigger。带注释的方法必须具有Sensors Overview Android 文档中指定的方法签名。 有关...
socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器...
电力载波全侦听路由方案 电力载波全侦听路由方案
VS侦听sqlserver数据库表数据的变化
可将每一次侦听任务过程中的所有数据导出为单一的会话文件文件供日后导入分析使用,也可以 将每个视图窗口的内容导出为RTF标准格式文档以及普通文本,为用户在多种场合下使用数据提供了方便。 <br>SerialTrace还...
Rockey2侦听hid.dll 复制到要监听的目录下正常运行程序,会在c盘生成监听文件
FLEXit 一个简单的开源调整项,用于通过手势打开 。 由于开发人员的设置过程以及对libobjcipc的依赖,因此此调整比更好编译: git clone https://github.com/ipadkid358/FLEXit.gitcd FLEXit./setup.shmake
Servlet上下文和侦听器
多线程 TCP/IP 侦听器
} 这个监听器定义了3个动作:键盘按下去调用keyPressed方法,键盘抬起来调用keyReleased,键盘被敲击一次调用keyTyped。 事件监听器是需要注册才能使用的,注册方法如下: public void add(<ListenerType>listener)...
局域网侦听工具.C:\TDDOWNLOAD\Spynet.rar
基于STM32 的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具、视频) 基于STM32 的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具、视频) 基于STM32 的联合调试侦听设备解决方案(原理图、PCB...
linux下userspace code侦听GPIO硬件中断事件的方法示例代码
Flex ActionScript3.0事件机制的Demo, 举例说明了事件的三个阶段,事件的派发,事件的侦听,事件的拦截,...以上知识点在Demo中都有体现,初学者请仔细分析代码,加强理解,多调试、修改、验证以加深自己对事件机制的认识.
网络侦听以及反侦听的原理和实现 监听 混杂模式