我使用jQuery UI中的对话框。在我的网站上,对话框的内容正在动态变化(自定义文本的自动填充)。我已经在对话框中设置了css max-height: 90%;
,因此在长内容上,对话框应该完全可见。但是,当生成动态内容为自动完成时,对话框会调整大小,但仍然处于相同位置,因此40%的内容不可见,它在屏幕外。如何解决这个问题,当生成长内容时,对话框将自动定位到屏幕中间?
编辑1:
以下是我网站上代码的一小部分:
$.ajax({
cache: false,
type: 'GET',
'url': URL_SAVE.expandVariables({}, {
'pres': self
}),
success: function(data) {
var label = $('<label>Open file:<label>').appendTo(dialogElement);
dt = data;
input = $('<input type="text" />').appendTo(dialogElement).autocomplete({
source: data,
autoFocus: true,
minLength: 0
});
dialog.open();
}
});
这是演示,与原始jsFiddle
非常相似编辑2:
这是对话框的初始化代码:
var dialogElement = $('<div></div>'),
input, dt, self = {
serverEditor: server('editor')
}, dialog = new Dialog(dialogElement, 'Open', {
'saveable': 'Open',
'width': 400,
'saveOnlyIf': function() {
return dt.has(input.val());
},
'ifNotSaved': function() {
alert('Please choose correct file name!');
}
}).on('save', function() {
$.ajax({
'type': 'GET',
'url': URL_SAVE.expandVariables({}, {
'pres': self
}) + input.val(),
'success': function(data) {
Presentation.unserialize(data);
}
});
});