Estou usando JavaScript com a biblioteca jQuery para manipular as miniaturas de imagens contidas em uma lista não ordenada. Quando a imagem é carregada, ela faz uma coisa; quando ocorre um erro, ela faz outra coisa. Estou usando jQuery load()
e error()
métodos como eventos. Após esses eventos, verifico o elemento DOM da imagem para o arquivo .complete para garantir que a imagem já não esteja carregada antes que o jQuery possa registrar os eventos.
Funciona corretamente, exceto quando ocorre um erro antes que o jQuery possa registrar os eventos. A única solução em que consigo pensar é usar o onerror
atributo img para armazenar uma "flag" em algum lugar globalmente (ou no próprio nó) que diz que falhou, para que o jQuery possa verificar essa "store / node" ao verificar .complete.
Alguém tem uma solução melhor?
Editar: pontos principais em negrito e detalhes adicionais adicionados abaixo: Estou verificando se uma imagem está completa (também carregada) DEPOIS de adicionar um evento de carga e erro à imagem. Dessa forma, se a imagem foi carregada antes dos eventos serem registrados, eu ainda saberei. Se a imagem não for carregada após os eventos, os eventos cuidarão dela quando o fizer. O problema é que posso verificar facilmente se uma imagem já está carregada, mas não sei se ocorreu um erro.