Débat : Quelles sont les évolutions et les incompatibilités de jQuery 1.3
Le 2009-01-15 16:20:15, par hansaplast, Membre éclairé
Bonjour,
je vient de constater que jquery 1.3 vient de sortir.
avez vous put le tester?
avez vous rencontrés des incompatibilités avec les scripts basés sur la version 1.2.x?
et, enfin, quels ajouts au final?
a noter : la nouvelle doc : http://api.jquery.com/
page officiel sur ces changements : http://docs.jquery.com/Release:jQuery_1.3
je vient de constater que jquery 1.3 vient de sortir.
avez vous put le tester?
avez vous rencontrés des incompatibilités avec les scripts basés sur la version 1.2.x?
et, enfin, quels ajouts au final?
a noter : la nouvelle doc : http://api.jquery.com/
page officiel sur ces changements : http://docs.jquery.com/Release:jQuery_1.3
-
Lideln75Membre régulierJe l'ai essayé, et j'ai un bug au niveau du sélecteur ">".
Donc je suis repassé à la 1.2.6 en attendant de trouver un fix pour ce bug.
Les chiffres annoncés en terme de performance pour la 1.3 sont impressionnants (par rapport à la 1.2.6 déjà, et aussi par rapport à toutes les autres lib).le 19/01/2009 à 2:13 -
HerodeMembre éprouvéHa, superbe !
Je vais tout de même attendre la 1.3.1 pour essayer ça en production.
Quelqu'un peut-il éclairer ma lanterne sur ce qu'est la "event delegation" par opposition, je suppose, au "event handling" ?le 19/01/2009 à 11:43 -
Pour moi l'une des principale nouveauté est l'évènement live.
En effet, jusqu'à aujourd'hui lorsque vous définissiez une règle au document.ready, celle-ci s'appliquait sur les éléments du DOM qui existaient à ce moment là, mais si vous rajoutiez des éléments (ajax ou autres), la règle ne s'appliquait pas sur les nouveaux éléments.
Il fallait alors recréer les règles aprés chaque modification du DOM, pas très pratique.
Maintenant, c'est très simple :Code : 1
2
3$("p").live("click", function(){ $(this).after("<p>Another paragraph!</p>"); });
Vous avez aussi maintenant la possibilité de propager un évènement, via les trigger.Code : 1
2
3
4
5
6
7
8$("button:first").click(function () { update($("span:first")); }); $("button:last").click(function () { $("button:first").trigger('click'); // Lance le click de bouton:first update($("span:last")); });
Code : $("<script/>") = $(document.createElement("script"))
le 21/01/2009 à 9:19 -
surfeurXMembre à l'essaiBonjour, la version 3 implemente aussi Sizzle qui est une librairie CSS3 très rapide "http://jamesdonaghue.com/static/peppy/profile/slickspeed/"et d'après ce que j'ai lu sur un article toutes les librairie vont suivre l'exemple du jquery "dojo, prototype ..." par consequent "peppy" qui est aussi une librairie très rapide, elle suppose que le page est static ce qui la rend incomplete.
Bon developpementle 21/01/2009 à 10:00 -
SQUALMembre habituéDans la doc :
Code : 1
2.live doesn't support the no-event style callback that liveQuery provides. Only event handlers can be bound with .live.
le 22/01/2009 à 11:59 -
Je pense que ta phrase est explicitée par cette quote de l'API :Possible event values: click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup
Currently not supported: blur, focus, mouseenter, mouseleave, change, submitle 22/01/2009 à 12:15 -
SQUALMembre habituéBah un exemple :
Code : 1
2$('input').spinButton();
le 22/01/2009 à 12:21 -
Effectivement, tu as raison.
Si on veut lancer une fonction sur un élément, par exemple mettre en corner certains div $(".corner".corner(); ou encore $("a.light" .lightbox(), on ne pourra pas le faire avec cette version de .live
DomageIl ne nous reste plus qu'à espérer que cette fonction soit améliorée dans les versions futures, en attendant liveQuery aura toujours son intéret ! le 22/01/2009 à 13:24 -
JeitEmgieExpert confirméconclusion de quelques tests de la 1.3.1 :
encore trop de problèmes dans le selector…
…inutilisable en production…
(exemple :
plusieurs groupes de radio dans un form :
Code : 1
2$("input[@name='NAME_OF_RAGIO_GROUP']:checked").val()
quelque soit la valeur de NAME_OF_RAGIO_GROUP…
)le 04/02/2009 à 14:03 -
gtraxxMembre confirméCette syntaxe n'est plus valide, logique que sa déconne :
Code : $("input[@name='NAME_OF_RAGIO_GROUP']:checked").val()
le 11/02/2009 à 10:50