stavo usando questo codice:Rileva ingresso immagine caricamento
<input type="image" ... onLoad="this.style.opacity = 1" />
Funziona bene in IE (almeno, le versioni che supportano opacity
: p), ma in Chrome caso onLoad
non ha fuoco quando l'immagine caricata .
Nota che l'attributo src
dell'ingresso può cambiare, e quando lo fa un po 'di JavaScript imposta il opacity
-0 prima, e adatti transition
proprietà far sembrare l'immagine svanisce e la nuova svanisce. Inoltre, l'uso di <input type="image">
è necessario perché il server ha bisogno delle coordinate.
devo jerry-truccato utilizzando una posizione assoluta <img>
prendendo il onLoad
e opacity
, posto dietro la <input>
che ora utilizza un pixel GIF trasparente. Mentre funziona, è brutto.
C'è un modo per rilevare il caricamento corretto di un'immagine utilizzata in un <input>
in Chrome, o è simile a background-image
, non rilevabile?
EDIT: In caso aiuta, ecco una Fiddle
Invece di usare un 'img' dietro l'ingresso, è possibile utilizzare un' img' distaccato e usare il suo gestore del carico di fare ciò che si vuole, come spesso usato in pre-caricatori. Non c'è molta differenza, ma il tuo DOM principale sarebbe più pulito. –
Il nome dell'evento corretto è 'onload' con tutto minuscolo, ma non penso ci sia una garanzia che il tag' 'attiverà quell'evento per un pulsante immagine. Non riesco a trovare nessuna specifica che dice che è supportato. – jfriend00
@ jfriend00 Gli attributi HTML non fanno distinzione tra maiuscole e minuscole, potrei scrivere 'OnLoAd' e funzionerebbe. –