jQuery 1.4

Ei bine… A ieșit. Și sunt atât de entuziasmat de chestiile noi încât nu știu de unde să încep :D

Event-uri noi

Am avut nevoie de blur/focus pentru .live(). Acum a apărut focusin, respectiv focusout. Ce înseamnă asta?

jQuery('input:text').live('focusout', function(){
 alert('Blurred!');
});

În plus, toate event-urile (cu excepția ready, focus și blur) pot fi folosite împreună cu .live(). Ceea ce nu poate decât să mă bucure.

Manipulare DOM

Cum ar fi să poți creea un element în modul ăsta:

jQuery("<div/>", {
    id: "foo",
    class: "bar",
    css: {
        height: "50px",
        width: "50px",
        color: "blue",
        backgroundColor: "#ccc"
    },
    click: function() {
       $(this).css("backgroundColor", "red"); 
    }
}).appendTo("body");

Chiar dacă o să sune ca într-o emisiune de teleshoping, o voi spune: Ei bine, acum poți! :D

În plus, fie că introduci un element sub forma jQuery('') sau sub forma jQuery(''), elementul va fi creat folosindu-se document.createElement(). Ceea ce înseamnă un plus de viteză.

De asemenea, .remove() și .empty() sunt de patru ori mai rapide.

Traversare DOM

Mi se părea destul de greoi modul de selectare al penultimului element dintr-o listă. Eu am folosit de câteva ori jQuery('ul li:last').prev(). Probabil să fi fost și vreo metodă mai elegantă. Acum, .eq() acceptă și valori negativa. Astfel, expresia de mai sus devine jQuery('ul li').eq(-1). Sau -2 pentru penultimul element șamd.

.index() este ceva mai intuitivă: e suficient să folosești jQuery('div').index().

Atribute

.addClass(), .removeClass() și .toggleClass() sunt ceva mai rapide. În plus, .toggleClass() acceptă și mai multe clase simultan.

De asemenea, .css() a suferit ceva îmbunătățiri, oferind o viteză dublă de execuție.

Efecte

Poți avea efecte diferite pentru fiecare animație în parte.

("#clickme").click(function() {
  $("div").animate({
    width: ["+=200px", "swing"],
    height: ["+=50px", "linear"],
  }, 2000, function() {
      $(this).after("<div>Animation complete.</div>");
  });
});

API

Avem și un nou site cu API-ul jQuery 1.4. Îl găsești aici.

Asta e doar o listă mărunțică cu ce e nou în jQuery 1.4. Aici găsești toate noutățile din ultima versiune a librăriei

Fun facts

Q:Ce se poate strica dacă faci upgrade la 1.3 la 1.4?
A:John Resig zice că teoretic, n-ar trebui să fie probleme. Cu toate acestea, există o listă cu problemele posibile. Cel puțin la prima vedere pe mine nu mă afectează :D

Q: Dacă se renunță la suportul pentru IE6, cât de mult se va reduce/optimiza codul?
A: Deloc!

Q: Care au fost cele mai cerute features pentru 1.4 ?
A: Live events.

Q: Care sunt cele bune îmbunătățiri din jQuery 1.4?
A: Cele pentru .empty() și caching-ul pentru fragmentele DOM (.append(), .prepend() etc) ce se întâmplă cam automat.

Q: Versiuni noi de jQuery?
A: În maxim o săptămână va ieși 1.4.1 și spre sfârșitul lunii 1.4.2. Tot atunci apare și jQuery UI 1.8

Q: Va fi inclus în Microsoft Visual Studio 2010 ?
A: Da.

Link-uri utile

Concluzia

Așa cum am zis la început, sunt foarte entuziasmat de lucrurile noi introduse. Cu toate acestea, voi aștepta probabil 1.4.1 (sau poate chiar 1.4.2) înainte de a începe să-l folosesc la modul serios. În plus, am nevoie de ceva timp pentru a descoperi cât mai multe „bunătăți” din noua versiune :D

Bonus

Microsoft a publicat o listă cu selectorii CSS și compatbilititatea lor cu diversele versiuni de IE (5, 5.5, 6, 7, 8). Lista o găsești aici.

Ți-a plăcut articolul? Lasă un comentariu!

You can insert code snippets using BBcode:
[js].[/js] [html].[/html] [php].[/php] [css].[/css]
You can also use some HTML tags:
<blockquote>.</blockquote> <code>.</code> <a href="">.</a> <strong>.</strong> <em>.</em>

windows apple dropbox facebook twitter