L'evento load() sulle immagini in jQuery: un problema aperto

L'evento load() sulle immagini in jQuery: un problema aperto

Nonostante sia una delle tecniche più usate in jQuery e nonostante jQuery continui a supportare l’evento load, sta di fatto che tale evento è stato deprecato a partire dalla versione 1.8 della libreria. Vediamo il perché di questa scelta.

La documentazione affronta il caso specifico delle immagini e afferma che per questo evento ci sono le seguenti controindicazioni:

Un problema comune che gli sviluppatori cercano di risolvere utilizzando l’evento load() è eseguire una funzione quando un’immagine (o un insieme di immagini) ha finito di caricarsi. Ci sono tuttavia diverse controindicazioni che dovrebbero essere prese in considerazione. Queste sono:

  • L’evento non funziona in modo coerente nei vari browser
  • L’evento non funziona correttamente in WebKit se l’attributo src dell’immagine viene impostato sullo stesso valore di prima
  • L’evento non risale correttamente l’albero del DOM nella fase di bubbling
  • L’evento può non funzionare se le immagini sono già presenti nella cache del browser

Per questi motivi si sconsiglia l’uso di tale evento in questo scenario. Per quanto riguarda invece la sua applicazione tradizionale all’oggetto window, gli sviluppatori di jQuery incoraggiano invece l’utilizzo dell’evento ready connesso all’oggetto document.

Torna su