J'ai quelques objets, qui gardent créés DOMObjects, comme ici:append Cant "utilisé" DOMObject dans IE
function category(){
var domBlock;
this.block = function(){
if (!domBlock){
// Here dom-object constructor $('<div></div>'); etc
}
return domBlock; // jquery object,
// but i test and native document.createElement
}
}
ì zone de catégorie claire, et ajoutez anciens et nouveaux reçu (avec Ajax) objets:
area.html('');
for(id in category_list){
area.append(category_list[id].block());
}
où category_list est une liste contenant des objets de catégorie. La zone est un objet jQuery. Dans d'autres navigateurs (sauf IE) j'obtiens la zone avec toutes les catégories nécessaires, mais dans IE je reçois seulement les nouvelles catégories reçues (qui créent juste DomObject), d'autres vieux objets qui ont gardé l'ancien DomObject n'apparaissent pas.
Je sais qu'il est possible de faire avec innerHTML, mais je ne garderai pas DomObject, pas de texte. Parce que DomObject conserve de nombreux événements. Et c'est très difficile pour les événements attachés au navigateur pour chaque DomObject après la zone d'actualisation.
Avez-vous essayé le clone de jQuery? –
@Kerry Ouais! C'est du travail! Je ne connaissais vraiment pas cette méthode. Mais je pense que ce problème était dans IE, quand il est clair que l'objet ob innerHTML object ici détruit tous les nœuds enfants. Et le détruire dans mon objet) – Kein
Nice) J'ai le prochain problème) Les événements ne clone pas avec la méthode .clone(); – Kein