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

JavaScript Discussion :

Gestion des objets liés à un element du DOM


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut Gestion des objets liés à un element du DOM
    Bonjour;

    Je fais appel à vos avis; expériences.

    Lorsqu'on crée un calendrier ou un autocomplete (par exemple), l'objet javascript est lié à un element du DOM (imaginons un input).
    Je fonctionne avec prototype mais c'est une question est indépendante de l'utilisation d'un framework.

    Ce dont je parle:
    Par exemple, on instancie l'objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monCalendrier = new MaClasse('id-element');
    Dans ce cas, vous serez d'accord que l'objet monCalendrier sera lié en fait à l'element "id-element"; il gerera les evenements etc...

    Pour supprimer l'objet, il suffit de faire:
    monCalendrier = null;

    Mise en situation:
    Imaginons qu'un element du DOM (genre un input) est situé dans une DIV.
    Imaginons qu'un objet soit instancié est qu'il utilise l'element "input" de l'exemple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="madiv1">
      blabla
      <div id="madiv2">
        blablabla !
        <input type="text" id="id-element" />
      </div>
    </div>
    Le probleme
    Lorsqu'on change dynamiquement le contenu de la div (innerHTML) et que l'élément "input" n'est plus présent, l'objet est par contre toujours présent alors qu'il n'est plus utile...
    Si vous faites l'opération plusieurs fois, vous aurez plusieurs objets inutiles.

    La question:
    J'aimerais pouvoir supprimer l'objet JS lorsque l'element est viré du DOM mais de manière automatique.

    Mes pistes:
    - tout de meme exectuer la ligne lorsque je change le contenu d'une des DIV parentes:
    C'est relativement lourd vu qu'il faut alors executer la ligne pour une modification du contenu de tous les parents de l'élément (input).

    - simuler un evenement "ondestroy" sur le input ? (aucune idée plus détaillée)

    - attacher l'objet à l'input (du style de jquery.data) avec un object de gestion de données. il suffirait ainsi de parcourir les elements enfants contenus dans la zone à supprimer du DOM. (cela me semble le plus simple)


    Je recherche une bonne piste; une bonne idée; je ne demande pas nécéssairement une solution toute faite (enfin, sauf si vous en avez une).


    Merci beaucoup;
    Un petit si la réponse convient. Merci.

  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 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 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    removeChild non ?
    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 éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    removeChild supprime un enfant du DOM.

    Ce que je recherche à faire; c'est établir une bonne méthode pour pouvoir supprimer un objet JS qui utilise l'element du DOM qui disparait du DOM.

    L'objet possede le plus souvent une reference à l'élément mais du coté de l'élement il n'y a aucune référence à/aux objet(s) auquel il serait lié.
    Un petit si la réponse convient. Merci.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/06/2008, 18h03
  2. Gestion des objets ACCESS
    Par tiyolx dans le forum Modélisation
    Réponses: 5
    Dernier message: 24/05/2008, 23h57
  3. gestion des objets d'une scene
    Par crischprolch dans le forum OpenGL
    Réponses: 6
    Dernier message: 14/05/2008, 18h02
  4. [RMI]Gestion des objets sur le serveur?
    Par fabszn dans le forum Langage
    Réponses: 9
    Dernier message: 06/06/2007, 11h59
  5. Pb de gestion des objets Excel
    Par tedparker dans le forum Access
    Réponses: 2
    Dernier message: 11/09/2006, 17h13

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