私は次のようにコードを記述しました。
Event.COMPLETE
イベントリスナーを削除できないという問題があり、loadData
関数を2回以上呼び出すと、2回以上動作します。私の悪い英語と悪い説明に申し訳ありませんが、私は今日それを修正する必要があり、私は何をすべきかわかりません。
私はコードがかなり明らかだと思います。助けてください!ActionScript 3:anon関数でEventListenerを削除する方法
var ldr:URLLoader = new URLLoader();
function loadData(text_place, scrollbar, fileURL:String):void {
text_place.wordWrap = true;
var f:TextFormat = new TextFormat();
f.align = TextFormatAlign.RIGHT;
text_place.setTextFormat(f);
ldr.dataFormat = URLLoaderDataFormat.TEXT;
ldr.load(new URLRequest(fileURL));
ldr.addEventListener(Event.COMPLETE, function ldr_complete(evt:Event){
initText(text_place, ldr.data, scrollbar);
});
ldr.addEventListener(IOErrorEvent.IO_ERROR, loadError);
}
function initText(text_place:TLFTextField, fileContent, scrollbar):void {
ldr.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
text_place.htmlText = "";
text_place.tlfMarkup = fileContent;
scrollbar.update();
trace("Data loaded");
}
function loadError(e:IOErrorEvent):void {
trace("Error loading an external file.");
}
:ドキュメント毎の
? – basvk
私はそれを削除する方法はないと思う。しかし、useWeakListenerのaddEventListenerで 'true'を渡すことができます。ところで、私はそれ以外の方法がない限り、関数を避ける方が良いと思う。 – catholicon
ありがとう。 useWeakListenerが私の問題を解決したようです。ありがとう。 –