jQuery UI è utile, ma molti dei suoi widget soffrono di un fastidioso bug di progettazione. Se non si ha a che fare con le finestre modali, non si avrà nemmeno l’esperienza, ma se si tenta di utilizzare una funzione di completamento automatico o un widget datepicker all’interno di una finestra modale, troverete un

generato dinamicamente dietro il modale.

z-index e modals
Si potrebbe provare a codificare un z-index elevato per compensare questo, ma non è per niente flessibile, soprattutto all’interno di un complesso di modelli terze parti.
È per questo che si usa questo frammento di codice negli eventi open (autocomplete) o beforeShow (date picker), acquisito da fonti che non ricordo dove, per risolvere il problema.
function(input, inst) {
  var zMax = 1;
  $(input).parents().each(function(){
    zMax = Math.max(zMax, $(this).css('z-index'));
  });

  setTimeout(
    function() {
      $('.ui-datepicker .ui-autocomplete').css('z-index', zMax + 1);
    },
    300
  );
}
Purtroppo, l’uso di setTimeout() è necessario, perché l’evento viene generato prima che il codice venga aggiunto al DOM. Possiamo accorciare l’intervallo fino a circa 150 ms, ma a volte può fallire su macchine lente che usano IE.
Similari
Sporca e veloce finestra modal
16% JQuery
Se avete bisogno di una finestra modale e avete jQuery caricato si può semplicemente personalizzare e incollare le seguenti righe di codice in qualsiasi gestore di eventi o eventhandler per far apparire rapidamente un mess…
La bellezza del Metodo each() di jQuery
9% JQuery
La libreria jQuery fornisce un metodo, each(), che cicla ogni elemento dell’oggetto jQuery di destinazione. [expand expanded=”true” title=”Ciclare tutti i link” excerpt=”⤽” swapexcerpt=”” startwrap=”” endwrap=”” trigclass=…
Disabilitare il tasto destro del mouse facilmente utilizzando jQuery
7% JQuery
Ho letto diversi messaggi sui forum con richieste su come disabilitare l’evento del tasto destro del mouse in JavaScript. Beh, la soluzione è piuttosto semplice se si usa jQuery! Il trucco è quello di legare (to bind) l’ev…
Cos’è this?
7% JQuery
Uno degli aspetti più confusi di jQuery è come assegna l’ambito durante il callback. Deve essere parecchio confuso perché l’argomento genera un sacco di domande sulla mailing list di jQuery. Peccato, davvero, perché jQuery…
Migliorare lo sviluppo dei plugins di jQuery
5% Plugins
Ci sono dei favolosi plugin per jQuery. I migliori sono quelli adottati da migliaia di sviluppatori web in tutto il mondo. Fortunatamente, i peggiori falliscono e scompaiono nell’oscurità. Ecco alcuni suggerimenti per gara…

Aggiungi un commento