2

我正在为我的网站使用以下代码:

<script src="js/jquery-1.10.1.js" type="text/javascript"></script>
<script src="js/jquery-migrate-1.2.1.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function() {
        $("img#logo").load(function() {
            alert('Hello');
        });
    });
</script>

这在 IE 中不起作用,但在 Firefox、Chrome 和 Safari 中运行良好。

4

2 回答 2

3

我可以确认您的代码在使用未缩小版本的 Windows 7 64 上的 IE 8 中确实有效:

<!DOCTYPE html>
<html>
 <head>
<title>test</title>
     <script type="text/javascript" src="jquery-1.10.1.js"></script>
     <script>
         $(document).ready(function () {
             console.log($.fn.jquery);
             $("img#logo").load(function () {
                 console.log('Hello');
             });
         });
     </script>
</head> 
 <body> 
     <img id="logo" src="somegig.gif" onload="console.log('load');"/>
 </body>
</html>

这将记录 1.10.1 然后加载,然后您好,也许您必须验证您的 html 并确保您的 html 有效,这可能是个问题。

于 2013-06-29T05:27:27.603 回答
1

对http://api.jquery.com/load-event/的快速回顾提供了一些注意事项:

与图像一起使用时加载事件的注意事项

开发人员尝试使用 .load() 快捷方式解决的一个常见挑战是在图像(或图像集合)完全加载时执行一个函数。应该注意几个已知的警告。这些是:

  • 它不能始终如一地工作,也不能可靠地跨浏览器
  • 如果图像 src 设置为与以前相同的 src,它不会在 WebKit 中正确触发
  • 它没有正确地冒泡 DOM 树
  • 可以停止对已经存在于浏览器缓存中的图像进行触发

请注意第一个和第四个警告。清除缓存并重试。

另外,你需要 jQuery 迁移吗?丢失它,看看它是否在您的 IE 中出现故障

于 2013-06-29T06:20:50.040 回答