একটি আরও ব্যাপক উত্তর, যা নিকের উত্তরকে আরও নমনীয় উপায়ে ব্যবহার করে তা এখানে পাওয়া যাবে ।
সেই থ্রেড থেকে প্রাসঙ্গিকতার কোডটির একটি অভিযোজন নীচে রয়েছে। এই এক্সটেনশনটি মূলত অটোরেপজিশন নামে একটি নতুন ডায়ালগ সেটিং তৈরি করে যা সত্য বা মিথ্যা গ্রহণ করে। লিখিত হিসাবে কোডটি বিকল্পটিকে সত্য হিসাবে ডিফল্ট করে। এটি আপনার প্রকল্পের একটি .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");
}
}
});
});
এখন এই ডায়ালগটি সর্বদা নিজেরাই প্রতিস্থাপন করবে। অটোরপজিশন (বা আপনি যাকেই সেটিং বলুন) এমন কোনও ডায়ালগ হ্যান্ডেল করতে পারে যেগুলির ডিফল্ট অবস্থান নেই এবং উইন্ডোটির আকার পরিবর্তন করার সাথে সাথে সেগুলি স্বয়ংক্রিয়ভাবে পুনঃস্থাপন করতে পারে। যেহেতু আপনি ডায়ালগটি তৈরি করার সময় আপনি এটি সেট করছেন, আপনার কোনওরকম কোনও ডায়ালগ শনাক্ত করার প্রয়োজন হবে না কারণ পুনঃস্থাপনের কার্যকারিতা ডায়ালগটিতেই তৈরি হয়ে যায়। এবং সর্বোত্তম অংশটি হ'ল যেহেতু এটি প্রতি ডায়ালগ সেট করা হয়েছে, তাই আপনার কিছু ডায়ালগ তাদের নিজেরাই প্রতিস্থাপন করতে পারে এবং অন্যরা যেখানে থাকে সেখানে থেকে যায়।
সম্পূর্ণ সমাধানের জন্য jQuery ফোরামে ব্যবহারকারী স্কট.gonzalez এ toণ।