我有一个动态打开和关闭的JQuery对话框。一切都工作正常,除了关闭后重新打开对话框的位置不会被记住。
维持大小但位置不是。
我已尝试连接到'Open'事件,但在手动重新定位元素后,JQuery UI似乎正在重置该位置。
是否可以保持对话框的大小?我当然认为应该是。
答案 0 :(得分:8)
您可以使用jQuery UI Dialog“beforeclose”事件来存储位置和大小。您可以使用“选项”方法设置位置和大小。
以下是目前适用于我的内容:
$(function() {
$("#dialog").dialog({
beforeclose: function(){
$(this).dialog('option', 'position', [$(this).offset().left, $(this).offset().top]);
$(this).dialog('option', 'width', $(this).width());
$(this).dialog('option', 'height', $(this).height());
}
});
});
$( '#对话框')。对话框( '开放')
答案 1 :(得分:1)
您可以通过在'beforeclose'上返回false并使用jquery隐藏对话框来覆盖标准close方法:
$.ui.dialog.defaults.beforeclose = function() {
$(this).closest('.ui-dialog').hide();
return false;
};
这将重新打开:
$('#list').closest('.ui-dialog').show();
答案 2 :(得分:-1)
看一下jquery changeset。 你也会找到一个解决方案