JQuery error()函数在IE中不起作用

时间:2011-07-29 14:02:54

标签: javascript jquery internet-explorer

我有以下图像元素,它的src不存在。我想使用jquery错误函数来检测它是否已加载,并将src替换为我知道存在的通用映像。这适用于chrome和firefox但在IE中。为什么这在IE中不起作用,是否有任何变通方法?谢谢!

<img id="main" src="missing-image.jpg" />

<script type="text/javascript">

    $(function () {
        $("#main").error(function () {
            $("#main").attr("src", "generic.jpg");
        });
    });

</script>

3 个答案:

答案 0 :(得分:3)

计时问题?

DEMO HERE

<img id="mainImage" src="placeholder.jpg" />

<script type="text/javascript">
$(document).ready(function() {
  $("#mainImage").error(function () {
    $(this).attr("src", "generic.jpg");
  });
  $("#mainImage").attr("src","possibly_missing_image.jpg");
});

</script>

答案 1 :(得分:3)

我遇到了与ie相同的问题并将img src设置为自己允许足够的时间来捕获图像错误

$(document).ready(function() {
  $("#mainImage").error(function () { 
    $(this).attr("src", "generic.jpg");
  })
  .each(function() {
  $(this).attr("src",$(this).attr("src"));
  });
 });

答案 2 :(得分:0)

试试这个

$(function () {
        $("#main").bind('error abort', function () {
            $(this).attr("src", "generic.jpg");
        });
    });