这个Javascript没有'不适用于IE,但适用于Chrome、Firefox和Opera

This Javascript doesn't work in IE but works in Chrome, Firefox and Opera

本文关键字:适用于 Chrome Firefox Opera IE 没有 这个 不适用 Javascript      更新时间:2023-09-26

我有一个图像和一个微调器。我已经写了一些代码来说明在加载任何img时删除类"微调器"。它在Chrome、Firefox和Opera中运行良好,但在Internet Explorer中则不然。

我在Windows 7上使用Internet Explorer 11。

我在这里创建了一个非常基本的jsfiddle示例:http://jsfiddle.net/Forresty/o8v6xsze/

出于某种原因,它在任何浏览器的jsfiddle中都不起作用,所以我不确定该怎么办。我已经用点击函数测试了它,所以如果我点击图像,微调器类就会被删除,它就可以工作了。所以我认为这与装载方面有关。

我的网站上还有一些其他的javascript,所以我不认为这是IE特有的问题。

这是代码:

HTML:

<div class="spinner"></div>
<img class="workImage" src="http://upload.wikimedia.org/wikipedia/commons/2/23/Lake_mapourika_NZ.jpeg">

css:

.workImage{
    width: 500px;
    height: 500px;
}
.spinner{
    width: 500px;
    height: 500px;
    background: red;
}

Javascript:

$('img').on('load', function() {
    $("div").removeClass("spinner");
})

我也尝试过这个javascript:

$('img').load(function() {
    $('div').removeClass('spinner');
})

我不知道我错过了什么。如有任何帮助,我们将不胜感激。

谢谢。

您需要在jsfiddle的左上角应用ondomready。它运行良好。我也在IE10中测试过。

http://jsfiddle.net/o8v6xsze/1/

要解决IE10中的问题,您可以使用:

$('img').on('load', function() {
    $("div").removeClass("spinner");
}).each(function() {
  if(this.complete) $(this).load();
});

http://jsfiddle.net/o8v6xsze/3/

它在我的IE10中工作。