Lorsqu'une opération ajax échoue, je crée une nouvelle div avec les erreurs, puis je l'affiche comme une boîte de dialogue. Lorsque la boîte de dialogue est fermée, je voudrais détruire complètement et supprimer à nouveau la div. Comment puis-je faire ceci? Mon code ressemble à ceci au moment:jquery: Comment supprimer complètement un dialogue à la fermeture
$('<div>We failed</div>')
.dialog(
{
title: 'Error',
close: function(event, ui)
{
$(this).destroy().remove();
}
});
Quand je lance ce la boîte de dialogue affiche correctement, mais quand je le fermer la boîte de dialogue est toujours visible dans le code HTML (en utilisant Firebug). Qu'est-ce que j'oublie ici? Quelque chose que j'ai oublié?
Mise à jour: J'ai juste remarqué que mon code me donnait une erreur dans la console firebug.
$ (this) .destroy est pas une fonction
Toute personne capable de me aider?
Mise à jour: Si je ne fais que $(this).remove()
à la place, l'élément est supprimé du code HTML. Mais est-il complètement retiré du DOM? Ou dois-je d'une manière ou d'une autre appeler cette fonction de destruction d'abord?
Oooooh. Droit ... * facepalm * Merci !! – Svish
Notez que '.destroy' supprime le balisage externe ajouté par l'infrastructure de l'interface utilisateur (barre de titre, bouton de fermeture, barre de redimensionnement, etc.). Peut-être que c'est ce que vous vouliez dire par _host_. –
en utilisant ceci avec FF et avec Firebug ouvert. Il va planter. https://code.google.com/p/fbug/issues/detail?id=6290 J'ai passé des heures ... pour comprendre ce qui ne va pas avec mon code. –