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 :

FullCalendar - Méthode 'destroy' ou comment désinstancier


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut FullCalendar - Méthode 'destroy' ou comment désinstancier
    Bonjour à tous,

    J'ai un petit soucis que je n'arrive pas du tout à régler...

    Je vous explique, je créé dynamiquement des calendrier grâce à la librairie FullCalendar. Donc j'ai créé une class qui s'appelle "MonCalendrier", par exemple.

    Les X calendriers s'ouvrent dans une popup modal. Lorsque je ferme ce dialogue, je voudrais pouvoir détruire l'instance actuelle des X calendriers qui se trouvent dans ma popup (normal, s'il y en a 50 de calendriers, l'utilisateur peut plus rien faire ).

    J'ai donc fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Ce close c'est donc le callback du popup jquery qui sera invoqué une fois le dialogue fermé.
     
    close:
        function(){
              $('.fullcalendarCalendrier').each(
                   function(){
                         $(this).fullCalendar('destroy');
                         $(this).fullCalendar = null;
                   }
              );
              $(this).dialog('destroy');
        }
    Donc comme vous pouvez le voir, j'ai donc sélectionné les objets par class, et pour chaque objet j'aimerais pouvoir le détruire. Je vous ais donc mis les deux lignes que j'ai testés. Mais aucune des deux ne fonctionne.

    Merci pour vos idées et aide

    Cordialement

    Tidus

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    close:
        function(){
              $('.fullcalendarCalendrier').each(
                   function(){
                         $(this).remove()
                                    }
              );
              $(this).dialog('destroy');
        }
    ?
    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 !

  3. #3
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    Ba disons que si je fais ça, ça me supprime uniquement la DIV, et non l'instance de l'objet. Cette dernière restes toujours en mémoire.

    Es-ce que je me trompe ?

    Car si c'est le cas, j'ai pas mal de code à revoir

    Merci SpaceFrog

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ben pour le savoir tente un appel à l'objet après le remove()
    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 !

  5. #5
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    Alors j'ai fait le test, et merci pour l'idée je n'y avait pas du tout songé.

    Mais le problème est toujours là ^^, l'objet fullcalendar est toujours présent sur ma page

    Car en faite ce que je fais, c'est qu'un personne peut sélectionner un intervalle de dates d'au maximum 365 jours. Donc une fois qu'il a sélectionné son intervalle (pour mes tests du 01/01/11 au 31/12/11) cela crée un calendrier par mois. Ensuite l'utilisateur clique sur un bouton qui ouvre une popup avec à l'intérieur ces 12 calendriers.

    Maintenant le problème c'est que lorsque je quitte la popup si je ne détruit pas du tout l'instance du calendrier, je ne pourrais cliquer sur le bouton qui ouvre la popup que 2-3 fois avant qu'il ne cesse de fonctionner complètement. (Donc je penses que c'est du au fait de la quantité d'objet instancié).

    De plus, après avoir supprimé avec .remove(), .('destroy') ou encore = null, je supprimer complètement le contenus HTML.

    Donc normalement, je n'ai plus aucun objet dans la popup lors de la fermeture. Sauf qu'il continue à me garder en mémoire le calendrier pour une X raison que je ne connais pas

    Merci encore

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    la doc à pourtant l'aire de dire que la methode destroy reinitialise la balise à son état d'origine ?

    http://arshaw.com/fullcalendar/docs/display/destroy/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    close:
        function(){
              $('.fullcalendarCalendrier').each(
                   function(){
                         $(this).fullCalendar('destroy').remove()
                                    }
              );
              $(this).dialog('destroy');
        }
    ???
    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. [V8] Méthode ORM create, comment l'utiliser avec la V8 ?
    Par ammine007 dans le forum Odoo (ex-OpenERP)
    Réponses: 0
    Dernier message: 04/12/2014, 09h31
  2. Erreur "this.events is null" avec la méthode destroy sur popup
    Par elonguemare dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 24/06/2014, 16h34
  3. Réponses: 3
    Dernier message: 29/07/2009, 21h18
  4. Réponses: 5
    Dernier message: 05/09/2008, 10h02
  5. Réponses: 4
    Dernier message: 02/07/2004, 10h31

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