我正在寻找一种添加EventListener的方式,它会在第一次触发后自动删除自己,但是我无法找到我想要的方式来实现这个功能。
我找到了这个函数(在这里):
(我知道Robert Penner的Signals可以做到这一点,但由于这将意味着我无法为当前项目承受大量代码重写,因此我不能使用它们)
我找到了这个函数(在这里):
public class EventUtil
{
public static function addOnceEventListener(dispatcher:IEventDispatcher,eventType:String,listener:Function):void
{
var f:Function = function(e:Event):void
{
dispatcher.removeEventListener(eventType,f);
listener(e);
}
dispatcher.addEventListener(eventType,f);
}
}
但是不必写成:
EventUtil.addOnceEventListener( dispatcher, eventType, listener );
我想以通常的方式使用它:
dispatcher.addOnceEventListener( eventType, listener );
有人有想法如何实现这个吗?
非常感谢任何帮助。
(我知道Robert Penner的Signals可以做到这一点,但由于这将意味着我无法为当前项目承受大量代码重写,因此我不能使用它们)