Какой лучший метод для запуска события load() для кэшированных изображений?

Я работаю над сценарием, который ожидает загрузки содержимого в скрытом div, прежде чем активировать миниатюру, указывающую на него.

$('#preload img:first-child')
.bind('load',activateThumb)
.each(function(){
    if(this.complete || this.complete===undefined) $(this).load()});

Часть each запускает событие load() для изображений в кеше. Мне пришлось добавить его, чтобы страница работала в некоторых браузерах, которые не запускают load() для кешированных изображений.

Здесь также есть плагин, который делает то же самое, запуская событие загрузки не "вручную" но путем сброса атрибута src.

С точки зрения программирования, какое решение является более изящным?


person Isaac Lubow    schedule 24.08.2010    source источник


Ответы (2)


Сброс атрибута src для запуска обработчика load кажется чем-то вроде взлома (исходя из моих знаний). Если у автора плагина нет особой причины для этого или он знает что-то, чего не знаем мы, я бы придерживался вашего метода ручного запуска load.

person karim79    schedule 24.08.2010

Плагин event.special.load, о котором упоминается в документации jquery load-event решает это аналогичным образом.

person Michal Čizmazia    schedule 13.10.2010