您是否必须删除具有本地范围的变量的事件侦听器?我的意思是......只要函数/方法正在运行,如果变量只存在,事件监听器是否仍然存在?
private function startSomething():void
{
whatever.start();
var t:Timer = new Timer(2000,1);
t.addEventListener(TimerEvent.TIMER, stopSomething, false, 0, true);
t.start();
}
private function stopSomething(e:TimerEvent):void
{
// do you have to remove the event listener here??
}
答案 0 :(得分:3)
由于计时器只会触发一次,因此无需删除监听器。
答案 1 :(得分:3)
如果你真的需要这样做,你可以这样做:
Timer(e.currentTarget).removeEventListener(TimerEvent.TIMER, stopSomething);
几乎所有事件目标/ currentTarget属性都引用了触发器对象。