繁体   English   中英

JQuery .load()在Internet Explorer中不起作用

[英]JQuery .load() not working in Internet Explorer

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

<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中可以正常工作。

我可以使用未压缩的版本确认您的代码在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有效,这也许是一个问题。

快速浏览http://api.jquery.com/load-event/提供了一些警告:

与图像一起使用时加载事件的警告

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

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

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

另外,您需要jQuery迁移吗? 丢失它,看看它是否在干扰您的IE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM