IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

jQuery 1.3 : Évolutions et incompatibilités [News]


Sujet :

jQuery

  1. #1
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut jQuery 1.3 : Évolutions et incompatibilités
    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

  2. #2
    Membre régulier Avatar de Lideln75
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 111
    Points : 102
    Points
    102
    Par défaut
    Je 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).

  3. #3
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    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" ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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"));
        });
    Accessoirement, vous pouvez créer des éléments du DOM grâce à une syntaxe simplifiée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("<script/>") =  $(document.createElement("script"))
    Sinon, cette version 1.3 est surtout une amélioration technique permettant un gain de rapidité ( là où jquery était déjà bien en avance sur les autres .)

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 11
    Points
    11
    Par défaut
    Bonjour, 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 developpement

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par yotsumi Voir le message
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       $("p").live("click", function(){
          $(this).after("<p>Another paragraph!</p>");
        });
    Dans la doc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .live doesn't support the no-event style callback that liveQuery provides. Only event handlers can be bound with .live.
    Au final on doit encore utiliser le plugin liveQuery ? non ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    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, submit
    Donc tout dépend de ce que tu désire écouter comme élément live !

  8. #8
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par yotsumi Voir le message
    Je pense que cette phrase est explicité par cette quote de l'API :



    Donc tout dépend de ce que tu désire écouter comme élément live !
    Bah un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('input').spinButton();
    Avec un load('page.html');, $('input').spinButton(); ne sera pas appliqué sur la page chargé. Ca ne requiert aucun evenement non ?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SQUAL Voir le message
    Bah un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('input').spinButton();
    Avec un load('page.html');, $('input').spinButton(); ne sera pas appliqué sur la page chargé. Ca ne requiert aucun evenement non ?
    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

    Domage Il 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 !

  10. #10
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $("input[@name='NAME_OF_RAGIO_GROUP']:checked").val()
    renverra toujours la valeur du radio sélectionné du PREMIER groupe…
    quelque soit la valeur de NAME_OF_RAGIO_GROUP…
    )

  11. #11
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Cette syntaxe n'est plus valide, logique que sa déconne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("input[@name='NAME_OF_RAGIO_GROUP']:checked").val()
    On utilise plus le "@"
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  12. #12
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    Citation Envoyé par gtraxx Voir le message
    Cette syntaxe n'est plus valide, logique que sa déconne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("input[@name='NAME_OF_RAGIO_GROUP']:checked").val()
    On utilise plus le "@"
    bien vu…

    reste à faire la chasse à tous les "[@" dans le code qui doit migrer…

  13. #13
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Lisez cette article : http://docs.jquery.com/Release:jQuery_1.3#Upgrading
    Vous saurez alors tous les changements à faire, et aussi les nouvelles fonctions qui nous mâche une fois de plus le travail
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  14. #14
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut
    de même cet article : http://ejohn.org/blog/selectors-api-test-suite-in-ie8/

    montre qu'a part avec ie 8, c'est d'après leurs test, a 99% fonctionnel, sur les sélecteurs.

  15. #15
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2004
    Messages : 44
    Points : 40
    Points
    40
    Par défaut
    Sortie de la 1.3.2

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Au hasard de mes recherches je suis tombé sur cet outil qui me parait intéressant pour les débutant jquery

    http://flowplayer.org/tools/demos/index.html
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. [Rico] Incompatibilité Prototype / jQuery
    Par guejo dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 15/01/2009, 16h48
  2. JQuery - Incompatibilité entre 2 fonctions
    Par rems033 dans le forum jQuery
    Réponses: 1
    Dernier message: 10/11/2008, 13h20
  3. Incompatibilité JQuery ScriptAculoUs
    Par prosciuto dans le forum jQuery
    Réponses: 2
    Dernier message: 03/11/2008, 22h32
  4. Réponses: 3
    Dernier message: 07/01/2008, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo