好的,所以这很奇怪。以下代码适用于所有浏览器,但在开发人员工具中将其更改为 IE8 时,IE9 除外。
var img = $('<img/>').load(function (e) {
$('.md').append(e.target);
}).attr({ 'id': 'imgprofile', 'src': "http://upload.wikimedia.org/wikipedia/commons/thumb/2/28/HelloWorld.svg/512px-HelloWorld.svg.png", 'style': 'border:2px solid #a8a7a7;' });
这是一个例子:http: //jsfiddle.net/RZeY5/5/
如您所见,当 .load 事件完成(仅在 IE8 模式下)而不是将图像添加到 dom 时,会发生一些事情并且整个屏幕变白(在 jsfiddle 示例中,iframe 变白)。
在花了几个小时试图理解我的代码有什么问题(这是一个非常长的 JS 文件......)之后,我设法把它放到了这$('.md').append(e.target);
条线上,但我不知道现在该怎么做......这是我的错?这是 JQuery 的错吗?是IE8的错吗?我能做些什么来解决这个问题?
请注意,您必须处于 IE8 模式才能发生“错误”。
编辑 ** 我只是这样它也发生在 IE7 模式下......