एक अधिक व्यापक उत्तर, जो निक के उत्तर का अधिक लचीले तरीके से उपयोग करता है, यहां पाया जा सकता है ।
उस धागे से प्रासंगिकता कोड का एक अनुकूलन नीचे है। यह एक्सटेंशन अनिवार्य रूप से एक नया डायलॉग सेटिंग बनाता है जिसे ऑटोपेपिशन कहा जाता है जो एक सही या गलत को स्वीकार करता है। जैसा कोड लिखा गया है, वह विकल्प को सत्य में बदल देता है। इसे अपनी परियोजना में .js फ़ाइल में रखें ताकि आपके पृष्ठ इसका लाभ उठा सकें।
$.ui.dialog.prototype.options.autoReposition = true;
$(window).resize(function () {
$(".ui-dialog-content:visible").each(function () {
if ($(this).dialog('option', 'autoReposition')) {
$(this).dialog('option', 'position', $(this).dialog('option', 'position'));
}
});
});
यह आपको इस नई सेटिंग के लिए "सही" या "गलत" की आपूर्ति करने की अनुमति देता है जब आप अपने पृष्ठ पर अपना संवाद बनाते हैं।
$(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");
}
}
});
});
अब यह डायलॉग हमेशा खुद को रिप्रेजेंट करेगा। AutoReposition (या जिसे आप सेटिंग कहते हैं) किसी भी संवाद को संभाल सकता है जिसमें डिफ़ॉल्ट स्थिति नहीं है और खिड़की के आकार बदलने पर स्वचालित रूप से उन्हें पुन: प्रस्तुत करता है। जब आप संवाद बनाते समय इसे सेट कर रहे होते हैं, तो आपको किसी भी तरह से किसी संवाद की पहचान करने की आवश्यकता नहीं होती है क्योंकि रिपॉजिटिंग कार्यक्षमता डायलॉग में ही बन जाती है। और सबसे अच्छी बात यह है कि चूंकि यह प्रति डायलॉग सेट है, इसलिए आप कुछ डायलॉग्स खुद ही रिपोज कर सकते हैं और बाकी वे जहां हैं वहीं रहेंगे।
संपूर्ण समाधान के लिए jQuery के मंचों पर उपयोगकर्ता scott.gonzalez को क्रेडिट।