我正在寻找一种添加 EventListener 的方法,该 EventListener 将在第一次触发后自动删除,但我无法按照我想要的方式执行此操作。
我找到了这个功能(在这里):
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可以做到这一点,但我不能使用它们,因为这意味着我目前的项目负担不起大量代码重写)