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 :
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.
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;
Partager