2012-06-17 4 views
2

Is there a way to bind to the load() event of an image after changing it's src? 2-х годаBind ошибки загрузки изображения в <head>

How to remove future broken image using jquery не были успешно ответили

Примечание: Я полностью осведомлен о том, как обрабатывать изображение неисправного для загрузки AS это загрузка - Я мог бы добавить образ заполнителя, а затем назначить обработчик onerror в том же цикле. Я назначаю фактический src, как this DEMO

Я пытаюсь выполнить страницу изображений и обрабатывать уже сбойные изображения (не оптимальные) ИЛИ есть JQuery связать все img.onerror в данном селекторе до загрузки страницы (лучшее решение)

Так я думал в голове:

DEMO

$("figure img").on("error",function() { 
    console.log("error") 
    $(this).parents(".content-holder").removeClass("p-alt"); 
    $(this).parents("figure").remove(); 
}); 

, но это не работает - ничего не удалено и ничего в консоли.

Я посмотрел на naturalWidth, но это не поддерживается всеми браузерами

ответ

0

, как вы можете связать событие на элемент, который не существует в этой точке? $("figure img") не выбирает ничего, поскольку эти элементы еще не существуют на странице.

+0

«live» был/использовался для мониторинга DOM для объектов, это не настолько надуманно, чтобы думать, что замена «on» может сделать то же самое и реагировать на появление тега изображения в DOM, перехватить его и присоединить обработчик событий до запуска запроса src. Если я вставляю изображение, используя append, это произойдет. – mplungjan