<image src = 'image.png' onerror = "handleError(this)" onload = "handleLoad(this)">
function handleError(n){
getFirstChild(n.parentNode).style.display = '',n.style.display = 'none';
}
function handleLoad(n){
getFirstChild(n.parentNode).style.display = 'none',n.style.display = '';
}
我有一个单独的函数getFirstChild但没有任何与以下问题标记为一个HTML图像。
基本上IE11中发生的事情是,onLoad处理程序被触发,我的函数正确设置显示,但是在onload被触发后,onerror也被触发并覆盖handleLoad函数完成的操作。 不幸的是,这个应用程序只支持在IE浏览器中,但它只发生在IE11版本中,在IE10中按预期工作。
我不确定onLoad如何触发,然后在onLoad从src中找到图像后立即触发onError。
第二个编辑
如下出手,我无法重现这在IE11一个jfiddle评论。这可能是因为我的代码试图在同一时间做不同的事情,但有什么方法可以看出为什么onerror处理程序是触发器?我尝试打印出图像项目的src,但这似乎不是问题,因为onError和onLoad都返回相同的src,并且图像显然存在。 无论如何,我可以看到是什么导致onError触发?
不知道这是一个问题,但是你错过了周围的处理器报价图片标签内。 – AWolf 2015-02-18 00:57:02
啊,好的,没问题。我用这个[jsFiddle](http://jsfiddle.net/awolf2904/pxx3u9om/)得不到你在IE11(Win8)中描述的错误。 – AWolf 2015-02-18 01:13:22
@AWolf当我有机会时,我会用HTML的格式结构更新问题。 – 2015-02-18 01:41:07