Функция JQuery error () не работает в IE - PullRequest
6 голосов
/ 29 июля 2011

У меня есть следующий элемент изображения, который не существует.Я хочу использовать функцию ошибки 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 ]

3 голосов
/ 29 июля 2011

Сроки?

ДЕМО ЗДЕСЬ

<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>
3 голосов
/ 09 декабря 2011

Я столкнулся с той же проблемой, что и ie, и установка img src на себя позволила достаточно времени для ie, чтобы поймать ошибку изображения

$(document).ready(function() {
  $("#mainImage").error(function () { 
    $(this).attr("src", "generic.jpg");
  })
  .each(function() {
  $(this).attr("src",$(this).attr("src"));
  });
 });
0 голосов
/ 29 июля 2011

Попробуйте это

$(function () {
        $("#main").bind('error abort', function () {
            $(this).attr("src", "generic.jpg");
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...