2013-02-21 3 views
1

Je souhaite utiliser jsViews dans un widget qui peut être ajouté/retiré du DOM plusieurs fois.Comment détruire/nettoyer jsviews?

Si le widget exécute le code comme celui-ci lors de la création:

if(!$.link.widgetTemplate) 
{ 
    $.templates({ widgetTemplate: "#widgetTemplateSrc" }); 
} 

$.link.widgetTemplate("#myElement", someData); 

Would $("#myElement").remove(); provoque une fuite de mémoire ou serait jsViews obtenir éliminés correctement?

Comment décharger jsviews si vous ne souhaitez pas supprimer #myElement du DOM?

Répondre

1

Oui, la suppression d'éléments à l'aide de méthodes jQuery telles que .remove(), .empty(), .html() déclenchera la mise au rebut dans JsViews et ne devrait pas entraîner de fuite de mémoire.

+0

Merci Boris. Je suis surpris qu'il disparaisse même en utilisant '.html()' – CHS

+0

Oui, l'appel de html ("un peu de balisage") remplacera le contenu, et déclenchera le code de nettoyage jQuery et JsViews pour le contenu précédent. – BorisMoore

Questions connexes