Plus de réponse complète, qui utilise le Pseudo de répondre de manière plus flexible peut être trouvé ici.
Le code de la pertinence de ce thread est ci-dessous. Cette extension essentiel de créer un dialogue nouveau paramètre appelé autoReposition qui accepte une valeur vrai ou faux. Le code écrit les valeurs par défaut de l'option à true. Mettre cela en un .fichier js dans votre projet, afin que vos pages peut en tirer profit.
$.ui.dialog.prototype.options.autoReposition = true;
$(window).resize(function () {
$(".ui-dialog-content:visible").each(function () {
var dialog = $(this).data("dialog");
if (dialog.options.autoReposition) {
dialog.option("position", dialog.options.position);
}
});
});
Cela vous permet de fournir une "vrai" ou "faux" pour ce nouveau paramètre lorsque vous créez votre boîte de dialogue sur votre page.
$(function() {
$('#divModalDialog').dialog({
autoOpen: false,
modal: true,
draggable: false,
resizable: false,
width: 435,
height: 200,
dialogClass: "loadingDialog",
autoReposition: true, //This is the new autoReposition setting
buttons: {
"Ok": function() {
$(this).dialog("close");
}
}
});
});
Maintenant cette boîte de dialogue sera toujours de se repositionner. AutoReposition (ou ce que vous appelez le réglage) peut gérer toutes les boîtes de dialogue qui n'ont pas de position par défaut et automatiquement les repositionner lorsque la fenêtre est redimensionnée. Depuis que vous créez lorsque vous créez la boîte de dialogue, vous n'avez pas besoin d'identifier un dialogue en quelque sorte parce que le repositionnement de la fonctionnalité sera intégrée dans la boîte de dialogue elle-même. Et la meilleure partie est que, puisqu'il est défini par boîte de dialogue, vous pouvez avoir certains dialogues se repositionner et d'autres restent là où ils sont.
De crédit de l'utilisateur scott.gonzalez sur le jQuery forums pour l'ensemble de la solution.