我写这篇ActionScript代码:removeEventListener似乎没有删除监听
trace("before remove: " +
donneesTechniques.hasEventListener(DonneesTechniques.INITIALISATION));
donneesTechniques.removeEventListener(DonneesTechniques.INITIALISATION, init);
trace("after remove: " +
donneesTechniques.hasEventListener(DonneesTechniques.INITIALISATION));
这段代码的输出是:
before remove: true
after remove: true
这怎么可能? donneesTechniques
组件具有用于INITIALISATION
事件的列表程序,但它似乎不会将其删除...
我通过代码检查了此组件的内存地址,它始终是相同的地址。所以没有删除另一个对象。 removeEventListener没有任何效果,如果听众没有找到,但在我的情况有(按hasEventListener()
)
实际答案:停止使用as3的魔法字符串事件系统,并切换到更快的速度,并有效的as3信号。 http://johnlindquist.com/2010/01/21/as3-signals-tutorial/没有什么,他们提供了更多的好处,很容易跟踪和删除它们。 – JTtheGeek
因为我是一名实习生,对一个已经存在的(但是如此被窃听)项目进行研究,所以我会问我的团队是否可以互相帮助。顺便说一句,非常感谢你,我会看看这个为我的个人项目! –
我跟团队的其他成员交谈过,他们信服这个信号插槽方法!非常感谢这个链接JTtheGeek! –