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 :

[Treeview] Limite du plugin treeview?


Sujet :

jQuery

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut [Treeview] Limite du plugin treeview?
    Bonjour à tous,

    J'essaie d'utiliser le plugin treeview de jQuery.
    Celui-là : http://bassistance.de/jquery-plugins...ugin-treeview/

    Ca marche plutôt bien, sauf quand je commence à vouloir charger trop de données (2700 nœuds).

    Firefox me lance l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Un script sur cette page est peut-être occupé ou ne répond plus. Vous pouvez arrêter le script maintenant ou attendre pour voir si le script se terminera.
     
    Script : http://localhost/Content/jQuery/jquery-1.3.2.js:17
    Quelqu'un aurait déjà essayé de charger beaucoup de nœuds avec ce treeview?

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour.

    Le plugin n'est pas en cause c'est une sécurité Firefox contre un script qui serait dans une boucle mortelle.

    J'ai déjà eu ce problème avec un javascript qui durait trop longtemps et j'avais réussi à passer outre en activant une option, mais désolé je ne me rappelle plus. Je me demande si Firefox ne proposait pas cette option dans le dialogue d'alerte.

    De toute façon, j'ai dû modifier mon script, car les utilisateurs n'activeront pas cette option.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut
    C'est bien ce que je pensai aussi...

    Du coup, je me suis fait des appels ajax, pour chaque sous-nœud, mais j'ai un problème encore...

    J'ai l'arborescence suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ul id="tree">
      <li><span>Item 1</span></li>
      <li><a href="item-2">Item 2</span></li>
      <li><span>Item 3</span></li>
    </ul>
    La méthode js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $("#tree a").click(function() {
      var toto = $(this).parent();
      if (toto.find(">ul").length == 0) {
        var id = $(this).attr("href");
        $.post("/GetChildTheme", { "id": id }, function(data) {
          var branches = $(data).appendTo("#" + id);
            $("#tree").treeview({
              add: branches
            });
          });
        }
        return false;
    });
    Ce qui me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <ul id="tree">
      <li><span>Item 1</span></li>
      <li><a href="item-2">Item 2</span>
        <ul>
          <li><a href="item-2-1">Item 2.1</span></li>
          <li><span>Item 2.2</span></li>
        </ul>
      </li>
      <li><span>Item 3</span></li>
    </ul>
    Quand je clique sur l'item 2, pas de problème, je passe bien dans la méthode $("#tree a").click(function()... et mes items 2.1 et 2.2 sont bien ajoutés.

    Par contre, si dès que je clique sur un sous-nœud (item 2.1 ici), je ne passe pas dans la méthode.... Mon sélecteur n'est pas bon? $("#tree a"), pour les sous-niveau de l'arbre?

    merci

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Je ne sais pas si c'est seulement un oubli lors de la copie du code, mais je vois un gros bug :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <li><a href="item-2">Item 2</span></li>
    La balise a n'est pas fermée !

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut
    c'est un oubli dans le copier-coller, je l'ai vu que j'avais déjà posé le message.

    J'ai essayé en remplacant les balises a par des span, et en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $("#tree span[id]").click(function() {
    });
    Mais pareil, le premier niveau de l'arbre marche pas, mais pas les sous-branches.
    Aucun évènement n'est levé.

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par défaut
    J'ai trouvé une solution.

    Comme mes sous-niveaux sont chargés en Ajax, je dois écouter le gestion d'évènement 'live'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $("span[id]").live('click', function() {

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. plugin treeview affichage en profondeur
    Par Shinosha dans le forum jQuery
    Réponses: 3
    Dernier message: 07/07/2011, 11h34
  2. Réponses: 2
    Dernier message: 24/06/2011, 20h11
  3. Réponses: 2
    Dernier message: 16/01/2011, 23h57
  4. [vb.net][treeview] Construction d'un Treeview
    Par arnolem dans le forum Windows Forms
    Réponses: 21
    Dernier message: 09/02/2006, 16h40
  5. [vb.net][treeview] Possibilités d'un Treeview
    Par arnolem dans le forum Windows Forms
    Réponses: 9
    Dernier message: 09/02/2006, 16h02

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