Какой лучший способ вызвать событие load () для кэшированных изображений? - PullRequest
6 голосов
/ 24 августа 2010

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

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 13 октября 2010

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

2 голосов
/ 24 августа 2010

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

...