0

我有一个这样定义的 jQuery 对话框:

$(function ()
    {
        $("#addDocumentModal").dialog({
            modal: true,
            autoOpen: false,
            height: 300,
            width: 475
        });

        //allow asp.net button clicks
        $("#addDocumentModal").parent().appendTo(jQuery("form:first"));
    });

最后一行旨在允许 ASP.NET 按钮单击仍可处理,但是我遇到的问题是当我在 UI 样式的背景图像中有该行时(尝试了几个不同的 - 全部来自http: //www.asp.net/ajaxlibrary/cdn.ashx ) 覆盖对话框,所以你不能做任何事情。去掉那条线可以让对话框按预期显示,但是按钮不起作用。

请注意,我还使用 $(document).ready() (而不仅仅是 $(function()) 进行了尝试,但这并没有改变任何东西。

有什么建议么?我正在使用 jQuery 1.9.1 和 jQuery UI 1.10.1。

4

2 回答 2

1

我遇到过同样的问题。当您将其设置为模态时,Jquery(jquery.UI) 会自动转储一些 inlune 样式。这是解决方案:

下载 jquery.ui 样式表并在您的解决方案中包含样式以对其进行自定义并参考下载的:(下面的链接)

http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css

在这个样式表里面——找到“ui-front”类。

将 z-index 更改/添加到 500 或不断更改,直到达到所需的值。

干杯!!

于 2013-04-03T18:39:32.890 回答
0

不要尝试推送 div 的父级,将对话框推送到表单中:

$(document).ready(function() {
    $("#addDocumentModal").dialog({
        modal: true,
        autoOpen: false,
        height: 300,
        width: 475
    }).parent().appendTo(jQuery("form:first")); //allow asp.net button clicks
});

如果这不起作用,请查看模态 div 在 z-index 上设置的 CSS。确保它低于对话框。

于 2013-03-15T05:03:58.583 回答