Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

jQuery 3: nuove funzionalità e features deprecate

jQuery 3: nuove funzionalità e features deprecate
Link copiato negli appunti

jQuery 3.0 è attualmente in fase di betatest; la versione definitiva di questa nuova versione del popolare framework JavaScript dovrebbe essere rilasciata nel corso delle prossime settimane, per il momento è comunque possibile proporre un breve riassunto delle funzionalità previste così come delle features che gli sviluppatori hanno deciso di deprecare o escludere dal progetto. In alcuni casi vengono offerti nuovi metodi, in altri sono stati implementati costrutti preesistenti così come sono state pensionate funzioni ritenute non più utili.

$.get() e $.post() hanno ora una nuova signature, settings, si tratta del medesimo oggetto già proposto per $.ajax(), con la sola differenza che passando tale parametro ai primi due la proprietà method verrà semplicemente ignorata. Nel caso proposto di seguito non si avrà per esempio l'invio di una richiesta tramite POST ma attraverso GET:

$.get({
   url: 'https://www.html.it',
   method: 'POST'
});

Vi sarà inoltre la possibilità di iterazione sugli elementi DOM di una collection tramite for...of, un ciclo di iterazione mutuato da ECMAScript 6 applicabile sia ad oggetti che ad array.

var $inputs = $('input');
var x = 0;
for(var input of $inputs) {
   input.id = 'input-' + x++;
}

rappresenterà quindi un'alternativa al codice seguente per l'assegnazione di un ID a ciascun elemento input di una pagina:

var $inputs = $('input');
for(var x = 0; x < $inputs.length; x++) {
   $inputs[x].id = 'input-' + x;
}

jQuery 3 offrirà il supporto per la requestAnimationFrame, API che verrà utilizzata nelle animazioni con l'obbiettivo di garantire presentazioni più elevate con un minor consumo di risorse. Da citare l'introduzione di un selettore opzionale come parametro di unwrap(), si potrà così passare una stringa contenente un'espressione da utilizzare per controlli di corrispondenza con i child elements, una verifica con esito negativo non porterà ad alcuna esecuzione.

Il comportamento del metodo data() è stato modificato per un adeguamento alle specifiche dell'API Dataset, tutte le chiavi delle proprietà verranno convertite in notazione camel case con eventuale rimozione del trattino:

$elem.data({
   'my-property': 'blah'
});

diventerà per esempio:

...
{myProperty: "blah"}
...

Nessuna novità per quanto riguarda il supporto ufficiale a SVG, è comunque vero che nella terza generazione del framework sono stati aggiornati alcuni metodi (vedi addClass() e hasClass()) comunque già in grado di lavorare con questa tipologia di documenti. Cambia invece il comportamento dell'oggetto Deferred per una maggiore compatibilità con Promise di cui rappresenta un precursore; sostanzialmente jQuery 3 seguirà il medesimo schema previsto nativamente da quest'ultimo gestendo le eccezioni in modo da intercettare il fallimento di una funzione eseguendo la successiva.

bind(), delegate() e live() sono deprecati in favore di on() con lo scopo di fornire un'interfaccia unificata, stesso discorso per off() in sostituzione di unbind(), undelegated() e die(). Tali costrutti dovrebbero essere rimossi definitivamente con jQuery 4. Rimozione completa per load(), unload() e error(), un eventuale passaggio a jQuery 3 in loro presenza potrebbe quindi determinare dei malfunzionamenti. Rimosse anche le proprietà context, support e selector.

Da citare infine la modifica del significato dei filtri :visible e :hidden, ecco perché ora, per esempio, elementi inline e br privi di contenuto verranno comunque selezionati da :visible; un contenitore, anche se con width ed height "0" permetterà di considerare come :visible i relativi elementi.

Dismesso il progetto jQuery Compat 3.0 implementato fino alla fase Alpha di jQuery 3; Microsoft non offrirà più il supporto per IE8, IE9 e IE10, il framework si limiterà a rinunciare a quello per IE8 motivo per il quale jQuery Compat non avrà più ragione di esistere.

Via Telerik Developer Network

Ti consigliamo anche