jquery:模态总是在左下方和后面叠加,我该如何解决这个问题?

时间:2011-12-20 17:50:49

标签: jquery jquery-ui

好的,所以现在每当我调用一个打开模态的函数时,模态总是在叠加层后面,并且也总是在左下角。无论我改变什么,它永远不会移动。我假设默认模态是居中的。

这是我的jquery:

$('#container').dialog({
                        resizable: false,
                        modal: true,
                        position: 'center',
                        open: function(event, ui) {
                            $("#content").load('<%= Url.Action("Action") %>');
                        },
                        buttons: {
                            "Close": function() {
                                $(this).dialog("close");
                            }
                        }
                    });

HTML:

<div id="container">
        <div id="content">
        </div>
    </div>

我如何将模态居中(或者至少从左下方取下),并将其放在叠加层前面?

我正在使用jQuery UI CSS。

1 个答案:

答案 0 :(得分:1)

之前我遇到过类似情况,我可以通过指定固定宽度将对话框置于中心位置:

 var $detaildialog = $('#tableplaceholder').dialog({
            autoOpen: false,
            title: 'Food Details',
            modal: true,
            // Set fixed width for dialog to position center
            width: '800',
            height: 'auto'
        });

要让它显示在叠加层上方,也许您可​​以尝试zIndex,或检查:

  1. 您声明并打开对话框的序列。如果在执行某些操作后打开对话框,请确保序列正确。有时您需要声明对话框 中的对话框才能使其正常工作
  2. 在此对话框之前是否打开了其他对话框?如果是,请在关闭时尝试销毁对话框:

     close: function () {
                $(this).dialog('destroy');
            }
    

    这解决了我的对话的一些不当行为

  3. 希望这一切都有所帮助:)