Есть ли причина, по которой ('img'). Load не работает (jQuery)? - PullRequest
1 голос
/ 03 октября 2011

У меня есть набор изображений, которые я хотел загрузить перед выполнением следующей строки кода. Код похож на:

$('div.some_class img').load(function() {
    // do something to div.some_class img
});

Однако изображения не загружаются до выполнения команд. Когда я пытаюсь (window).load, это работает.

У меня вопрос, почему не ('div.some_class img').load не работает? Или это потому, что я использую селектор класса, который является самым медленным способом выбора элемента?

Ответы [ 2 ]

7 голосов
/ 03 октября 2011

из http://api.jquery.com/load-event/

Предупреждения о событии загрузки при использовании с изображениями

Распространенная задача, которую разработчики пытаются решить с помощью ярлыка .load (), заключается в выполнении функциикогда изображение (или коллекция изображений) полностью загружены.Есть несколько известных предостережений с этим, которые следует отметить.Это:

  • Он не работает согласованно и надежно кросс-браузерно
  • Он не работает корректно в WebKit, если для src изображения установлен тот же src, что и раньше
  • Не правильно всплывает дерево DOM.
  • Может перестать запускать изображения, которые уже находятся в кеше браузера..
2 голосов
/ 03 октября 2011

https://gist.github.com/268257 - это плагин jQuery для проверки всех загруженных изображений

Я не думаю, что загрузка проверяет, чтобы изображение действительно загружалось столько же, сколько загружен тег?У меня была такая же проблема, поэтому использовал вышеупомянутый плагин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...