如果通过动态文本字段中的标记加载图像并且抛出IOError,我还应该附加事件侦听器吗?文字栏位?
我试过了
var textField:TextField = new TextField();
textField.htmlText = "here is some text <img src='image.jpg'> and then some more";
textField.addEventListener(IOErrorEvent.IOError, function (e:Event):void { trace("error caught") });
无济于事...
有什么建议吗?
最佳答案
您必须将id
设置为img
,然后在TextField
上的getImageReference中使用它来获取Loader
,然后在其中添加所需的所有Event:
import flash.display.Loader;
import flash.events.IOErrorEvent;
import flash.text.TextField;
//...
var tfd:TextField = new TextField();
tfd.htmlText =
"here is some text <img id='myImg' src='image.jpg' /> and then some more";
var ldr:Loader = tfd.getImageReference("myImg") as Loader;
if (ldr != null) {
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
}
//...
private function onIOError(e:IOErrorEvent):void{
//...
}
如果需要,另一个示例here
关于actionscript-3 - 如何处理AS3中HTML启用文本字段中的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2308516/