Vyhledávání na webu

javascript - Funkce JQuery error() nefunguje v IE


Mám následující prvek obrázku, jehož src neexistuje. Chci použít jQuery funkci error, abych zjistil, zda se obrázek nenačetl, a nahradit src obecnějším obrázkem, o kterém vím, že existuje. To funguje v Chrome a Firefoxu, ale ne v IE. Proč to v IE nefunguje a existují nějaké řešení? Děkuji!

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

<script type="text/javascript">

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

</script>

Odpověď č. 1

Problém s načasováním?

DEMO ZDE

<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>

Odpověď č. 2

Narazil jsem na stejný problém s IE a nastavení img src na samotný sebe poskytlo IE dost času na zachycení chyby obrázku

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