我有一个 jQuery UI 对话框,其中包含一个可以根据用户所做的选择进行扩展的表单:/image/7oTxm.png .
例如,如果用户将“答案类型”更改为数字,则内容将添加到对话框中(或从中删除):/image/LeOIv.png .
因此,如果用户打开对话框,做出将展开对话框而不移动对话框的选择,则对话框将正常调整大小,如上图所示。但是,如果用户拖动对话框,然后做出扩展对话框的选择,则它不会按应有的方式自动调整大小: /image/HY1L3.png .
这就是我初始化对话框的方式:
var dialogToShow = isDeleteConfirmDialog ? $("#confirmDeleteDialog") : $("#customDialog");
dialogToShow.dialog({
// autoResize: true, -- does not work neither
resizable: false,
title: "My title",
modal: true,
width: 'auto',
height: 'auto',
draggable: false,
hide: { effect: 'scale', duration: 400 },
open: function () {
$('.ui-widget-overlay').bind('click', function () { dialogToShow.dialog('close'); });
}
});
dialogToShow.parent().draggable();
我还尝试将对话框的位置设置为绝对
,但它没有改变任何内容。
我做了一个 JSFiddle 来看看我是否可以重现我的问题,事实上我能够:https://jsfiddle.net/BishopBarber/61jqhsgt/2/
编辑:这在最新版本的 IE 中似乎不是问题,因此它可能是一个错误
最佳答案
经过多次测试,我意识到这是 jQuery UI 版本 1.11.2
到 1.11.4
中出现的错误。后续和之前的版本好像都没有这个问题了。如果您不想更改版本,Mark Schultheiss 提出了一种解决方法。
关于jQuery UI 对话框在拖动后停止自动调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37884868/