SlideShare une entreprise Scribd logo
1  sur  14
jQuery 1.4
újdonságok
Bártházi András, Arkon Zrt.
       belső oktatás
Újdonságok

2010. január 14 (1.4?), megjelent a jQuery 1.4-es
változata
http://jquery14.com/day-01/jquery-14

elég érdekes újdonságokat hoz, ezeket foglalja össze ez a
prezentáció
Sebesség

több metódus esetén jelentősen csökkent a meghívott
fü'vények száma, ezáltal a sebesség is:
.addClass, .removeClass, .css, .remove, .append, .html,
.empty, .find, stb.

a .css és .attr metódusok sebessége nőtt
Setter metódusok
   bővített setterek, avagy a .html, .attr, stb. szerű
   metódusoknak fü'vényt is átadhatunk, s a korábbi
   értéket is elérhetjük
// find all ampersands in A's and wrap with a span
$('a').html(function(i,html){
  return html.replace(/&amp;/gi,'<span class="amp">&amp;</span>');
});
 
// Add some information to the title of the anchors
$('a[target]').attr("title", function(i,title){
  return title + " (Opens in External Window)";
});
DOM elem létrehozás
  Új DOM elemek létrehozása jelentősen egyszerűsödött:

jQuery("<div/>", {
    id: "foo",
    css: {
        height: "50px",
        width: "50px",
        color: "blue",
        backgroundColor: "#ccc"
    },
    click: function() {
       $(this).css("backgroundColor", "red");
    }
}).appendTo("body");
Kontextus átadás AJAX kéréseknél

   AJAX kéréseknél beá*íthatunk egy kontextust, amire a
   this kulcsszóval hivatkozni tudunk később (kevesebb
   trükközés, tisztább kód)
jQuery.ajax({
    url: "test.html",
    context: document.body,
    success: function(){
        jQuery(this).addClass("done");
    }
});
HTML5 input típusok támogatása




 Form .serialize() esetén a datetime és range típusú input
 elemek értéke is szerializálva lesz
Szigorú JSON kezelés, natív
       JSON.parse támogatás


Az újabb böngészőkben (és az EcmaScript 5-ben
megjelent) elérhető natív JSON feldolgozást használja a
JSON.parse() metódus, ha létezik

Ha az AJAX lekérdezéskor a szervertől kért tartalom
“json” típusú, a .getJSON validálja is a visszakapott
tartalmat, védve a támadásoktól
Különböző animáció tulajdonságként

  Különá*ó DOM tulajdonságokhoz tudunk eltérő
  animációkat hozzárendelni könnyedén:

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


Egy adott eseményt hozzárendelhetünk úgy egy
kiválasztóhoz, hogy a későbbiekben létrejövő DOM
elemekre is érvényes legyen - mostantól az események
többségével működik ez a lehetőség
.queue() támogatás
  Létrehozhatunk végrehajtási sorokat, átláthatóbbá téve
  kódunkat amikor egyes fü'vényeket egymás után ke*
  végrehajtanunk:
jQuery("div").queue("ajax", function(next) {
  var self = this;
  jQuery.getJSON("/update", function(json) {
    $(self).html(json.text);
    next();
  };
}).queue("ajax", function() {
  $(this).fadeIn();
});
Üres függvény


A jQuery.noop() fü'vény egy üres fü'vény, ha valahol
explicite át szeretnénk adni egy semmit sem csináló
fü'vényt, akkor egy új funciton(){} fü'vény létrehozása
helyett ezt is használhatjuk
YUI Min helyett Closure


 Az eddig használt YUI Min tömörítés helyett a
 minimalizált jQuery fájlok Closue-ral kerülnek
 tömörítésre
További infók

Két további olvasnivaló:

  http://jquery14.com/day-01/jquery-14

  http://net.tutsplus.com/tutorials/javascript-ajax/
  jquery-1-4-released-the-15-new-features-you-must-
  know/

Contenu connexe

Plus de András Bártházi

Plus de András Bártházi (8)

Announcing Escher
Announcing EscherAnnouncing Escher
Announcing Escher
 
Cynefin
CynefinCynefin
Cynefin
 
ingatlan.com goes mobile
ingatlan.com goes mobileingatlan.com goes mobile
ingatlan.com goes mobile
 
Susmus.hu - technológiák
Susmus.hu - technológiákSusmus.hu - technológiák
Susmus.hu - technológiák
 
Redis: a memcached gyilkos
Redis: a memcached gyilkosRedis: a memcached gyilkos
Redis: a memcached gyilkos
 
Miner Business
Miner BusinessMiner Business
Miner Business
 
Google Analytics API and OS analytics tools
Google Analytics API and OS analytics toolsGoogle Analytics API and OS analytics tools
Google Analytics API and OS analytics tools
 
Turbó fokozat
Turbó fokozatTurbó fokozat
Turbó fokozat
 

jQuery 1.4 újdonságok

  • 1. jQuery 1.4 újdonságok Bártházi András, Arkon Zrt. belső oktatás
  • 2. Újdonságok 2010. január 14 (1.4?), megjelent a jQuery 1.4-es változata http://jquery14.com/day-01/jquery-14 elég érdekes újdonságokat hoz, ezeket foglalja össze ez a prezentáció
  • 3. Sebesség több metódus esetén jelentősen csökkent a meghívott fü'vények száma, ezáltal a sebesség is: .addClass, .removeClass, .css, .remove, .append, .html, .empty, .find, stb. a .css és .attr metódusok sebessége nőtt
  • 4. Setter metódusok bővített setterek, avagy a .html, .attr, stb. szerű metódusoknak fü'vényt is átadhatunk, s a korábbi értéket is elérhetjük // find all ampersands in A's and wrap with a span $('a').html(function(i,html){ return html.replace(/&amp;/gi,'<span class="amp">&amp;</span>'); });   // Add some information to the title of the anchors $('a[target]').attr("title", function(i,title){ return title + " (Opens in External Window)"; });
  • 5. DOM elem létrehozás Új DOM elemek létrehozása jelentősen egyszerűsödött: jQuery("<div/>", { id: "foo", css: { height: "50px", width: "50px", color: "blue", backgroundColor: "#ccc" }, click: function() { $(this).css("backgroundColor", "red"); } }).appendTo("body");
  • 6. Kontextus átadás AJAX kéréseknél AJAX kéréseknél beá*íthatunk egy kontextust, amire a this kulcsszóval hivatkozni tudunk később (kevesebb trükközés, tisztább kód) jQuery.ajax({ url: "test.html", context: document.body, success: function(){ jQuery(this).addClass("done"); } });
  • 7. HTML5 input típusok támogatása Form .serialize() esetén a datetime és range típusú input elemek értéke is szerializálva lesz
  • 8. Szigorú JSON kezelés, natív JSON.parse támogatás Az újabb böngészőkben (és az EcmaScript 5-ben megjelent) elérhető natív JSON feldolgozást használja a JSON.parse() metódus, ha létezik Ha az AJAX lekérdezéskor a szervertől kért tartalom “json” típusú, a .getJSON validálja is a visszakapott tartalmat, védve a támadásoktól
  • 9. Különböző animáció tulajdonságként Különá*ó DOM tulajdonságokhoz tudunk eltérő animációkat hozzárendelni könnyedén: $("#clickme").click(function() { $("div").animate({ width: ["+=200px", "swing"], height: ["+=50px", "linear"], }, 2000, function() { $(this).after("<div>Animation complete.</div>"); }); });
  • 10. .live() események Egy adott eseményt hozzárendelhetünk úgy egy kiválasztóhoz, hogy a későbbiekben létrejövő DOM elemekre is érvényes legyen - mostantól az események többségével működik ez a lehetőség
  • 11. .queue() támogatás Létrehozhatunk végrehajtási sorokat, átláthatóbbá téve kódunkat amikor egyes fü'vényeket egymás után ke* végrehajtanunk: jQuery("div").queue("ajax", function(next) { var self = this; jQuery.getJSON("/update", function(json) { $(self).html(json.text); next(); }; }).queue("ajax", function() { $(this).fadeIn(); });
  • 12. Üres függvény A jQuery.noop() fü'vény egy üres fü'vény, ha valahol explicite át szeretnénk adni egy semmit sem csináló fü'vényt, akkor egy új funciton(){} fü'vény létrehozása helyett ezt is használhatjuk
  • 13. YUI Min helyett Closure Az eddig használt YUI Min tömörítés helyett a minimalizált jQuery fájlok Closue-ral kerülnek tömörítésre
  • 14. További infók Két további olvasnivaló: http://jquery14.com/day-01/jquery-14 http://net.tutsplus.com/tutorials/javascript-ajax/ jquery-1-4-released-the-15-new-features-you-must- know/