Jquery: функция .onload() не работает в IE

Проблема в том, чтобы проверить в javascript: если есть изображение, добавить padding-left. Итак, в Chrom, Mazilla, Opera это работает нормально, но функция загрузки не работает в IE7/8, остальная часть скрипта тоже работает нормально.

    img.onload = function () {
      $('#text_near_img').css('padding-left', 162);
};

$('#text_near_img').css('width', 300);

Спасибо за любые идеи.


person Olga    schedule 08.09.2011    source источник


Ответы (2)


Попробуйте использовать:

$("img").load(function(){
    $('#text_near_img').css('padding-left', 162);
});

чтобы позволить jQuery использовать более совместимые методы.

person Rich Bradshaw    schedule 08.09.2011

Оберните свой код в готовый документ, чтобы он выполнял проверку, когда dom готов, и проверял, существуют ли изображения:

$(function(){

if ($('img').length > 0)
{
      $('#text_near_img').css('padding-left', 162);
      $('#text_near_img').css('width', 300);
}

});

* Проблема в том, что IE, скорее всего, применяет настройки CSS до того, как элемент будет добавлен на сцену, поэтому он ничего не найдет и ничего не сделает.

person Marc Uberstein    schedule 08.09.2011