JQuery UI Dialog可以记住它在打开和关闭之间的位置

时间:2009-06-13 02:10:51

标签: javascript jquery css jquery-ui dialog

我有一个动态打开和关闭的JQuery对话框。一切都工作正常,除了关闭后重新打开对话框的位置不会被记住。

维持大小但位置不是。

我已尝试连接到'Open'事件,但在手动重新定位元素后,JQuery UI似乎正在重置该位置。

是否可以保持对话框的大小?我当然认为应该是。

3 个答案:

答案 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。 你也会找到一个解决方案