我在使用digit.dialog的正确大小和位置方面遇到了问题。
我使用dijit.dialog的内置逻辑来确定对话框的宽度和位置,因为它的内容可以是任何大小。此外,需要通过href标记设置对话框内容。如果我以300px宽度启动浏览器窗口,则对话框的右侧一直向右。一旦我手动将浏览器调整到全宽,然后缩小它,它就会调整位置。有时它会正确地得到它,但它并不一致。
如何正确获取digit.dialog,以便在第一次加载时正确显示内容?
请查看plunkr:http://plnkr.co/edit/FLO1VFWX2LbZeZAZuhYm?p=preview
new dijit.Dialog({
id: "modal",
href: "modal.html
});
答案 0 :(得分:1)
您的内容需要有固定的尺寸。否则,使用内部尺寸计算位置,该尺寸在尺寸调整后不再相关。 基本上,在重新调整大小时,使用之前的宽度计算位置。
通过多次调用resize方法,对话框将调整其位置(一种二进制搜索最佳位置/大小)
dialog.show().then(function() {
dialog.resize();
dialog.resize();
dialog.resize();
dialog.resize();
dialog.resize();
});
http://plnkr.co/edit/bhhAZlYOE6kIduxOX8cn?p=preview
但这非常难看。你应该考虑给出内容的宽度