var Local:LocalConnection=new LocalConnection();
Local.addEventListener(StatusEvent.STATUS,function(event:StatusEvent):void{
// This stuff should only be running once
});
可以应用许多侦听器,因此仅应删除此侦听器。所以基本上在这个事件被分派之后,对于同一个 LocalConnection 实例可以有另一个监听器。
var Local:LocalConnection=new LocalConnection();
Local.addEventListener(StatusEvent.STATUS,function(event:StatusEvent):void{
// This stuff should only be running once
});
可以应用许多侦听器,因此仅应删除此侦听器。所以基本上在这个事件被分派之后,对于同一个 LocalConnection 实例可以有另一个监听器。
根据我的经验,在 Flash 中避免使用匿名函数几乎总是更好:
var local:LocalConnection = new LocalConnection();
local.addEventListener(StatusEvent.STATUS, statusHandler);
function statusHandler(event:StatusEvent):void{
local.removeEventListener(StatusEvent.STATUS, statusHandler);
}
此外,约定是使用小写字母作为变量的开头。
您可以在该匿名事件处理程序中删除匿名事件处理程序,因为您始终拥有对当前函数的引用。
var Local:LocalConnection=new LocalConnection();
Local.addEventListener(StatusEvent.STATUS,function(event:StatusEvent):void{
// This stuff should only be running once
Local.removeEventListener(StatusEvent.STATUS, arguments.callee);
});
没有其他本地方法可以使事件侦听器仅触发一次,必须删除侦听器。
是的你可以:
Local.addEventListener(StatusEvent.STATUS,function(event:StatusEvent):void{
IEventDispatcher(event.currentTarget).removeEventListener(event.type, arguments.callee);
});