removeEventListener似乎不会删除侦听器

时间:2011-08-31 14:08:12

标签: flex event-handling

我写了这个动作脚本代码:

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()

1 个答案:

答案 0 :(得分:1)

根据hasEventListener()至少一个侦听器。因此,如果其他组件也订阅了此事件,并且在您删除当前对象中的侦听器后仍然订阅,那么很可能。