最近在开发项目中,遇到这么一个问题:在与后台进行交互时,当后台正常处理完成,调用回调方法;
在回调方法中改变KEY值: model.FIND_PASSWORD_KEY = UIDUtil.createUID();
并在VIEW中<mx:Label id="operate" text="{model.FIND_PASSWORD_KEY}" visible="false"/>
在初始化方法initComp()中进行KEY改变事件监听:operate.addEventListener(
FlexEvent.UPDATE_COMPLETE, onOperate );函数onOperate为事件处理函数。
当我每次重复该功能操作时,该函数onOperate被调用的次数也随着操作次数的增加而增加。
从而导致同一操作重复处理。
通过查找资料,总算解决了,其实只需要在适当的时候把监听移除就 OK了。比如在该组件关闭的时候,
operate.removeEventListener( FlexEvent.UPDATE_COMPLETE, onOperate);
至于这个问题的原因,我猜测可能是Flex事件映射列表,没有即时清理失效事件:
(FlexEvent.UPDATE_COMPLETE, onOperate),导致下次操作时该时间映射还存在,所以当该事件被激
发,该事件处理函数多次被调用。
记录哈来,免得以后再次遇到。。。
所以,当监听了某事件,不用时应养成移除事件习惯。
operate.addEventListener( FlexEvent.UPDATE_COMPLETE, onFuntion);
operate.removeEventListener( FlexEvent.UPDATE_COMPLETE, onFuntion);
关于FLEX事件堆积 导致处理操作叠加 问题
最新推荐文章于 2025-07-15 19:24:33 发布
本文描述了一种在Flex开发过程中遇到的问题,即事件处理函数在重复操作时被多次调用,导致同一操作重复处理。文章提供了问题的解决方案,并强调了在不使用事件监听时及时移除监听的重要性。
1374

被折叠的 条评论
为什么被折叠?



