我有一个关于在actionscript 3中手动删除事件监听器的基本问题.
如果我有这样的功能:
private function doStuff(event : Event):void
{
//let them save
var f:FileReference = new FileReference();
f.addEventListener(Event.COMPLETE,saveDone);
f.save(mp3Encoder.mp3Data,"output.mp3");
}
Run Code Online (Sandbox Code Playgroud)
调用saveDone函数时如何删除事件侦听器?通常我只是将"添加"更改为"删除",如:
f.removeEventListener(Event.COMPLETE,saveDone);
Run Code Online (Sandbox Code Playgroud)
但是,f是一个局部变量,在doStuff函数结束后我无法访问它.
private function saveDone(ev:Event){
f.removeEventListener(Event.COMPLETE,saveDone);
}
Run Code Online (Sandbox Code Playgroud)