Onload в IE9
Автор: Андрей Косяк Дата публикации:
Проблема
В IE9 не срабатывает корректно событие onload для изображений.
Для примера, у меня на странице несколько изображений. По загрузке каждого из них с этим изображением хочу что-то сделать:
$("img").load(function(){ .myFunction(); });
IE9 ведет себя как-то неадекватно: нужная мне функция сработала только для одного изображения на странице.
Решение
Для корректной работы приходится использовать следующую конструкцию:
if(!$.browser.msie) { // для нормальных браузеров $("img").load(function(){ myFunction(); }); } else // костыль для IE9 { if($("img")[0].complete == true) myFunction(); else $("img").one("load", function(){myFunction()); }