一尘不染

jQuery UI 1.10:对话框和zIndex选项

css

单击图像时,我必须创建一个对话框。问题是我在那里有一些很大的z索引(例如500),而ui对话框位于该元素的背面。

这是您需要登录的页面,用户:“ raducup”并通过:“ 1”。另一个问题是,当我单击关闭对话框时,该对象消失了。

这是单击图像时调用的函数:

function openItem(obiect){
    $( obiect ).css('zIndex',9999);
    $( obiect ).dialog({
        dialogClass: "no-close",
        modal: true,
        draggable: true,
        overlay: "background-color: red; opacity: 0.5",
        buttons: [
            {
                text: "OK",
                click: function() {
                    $( this ).dialog( "close" );
                }
            }
        ]
    });
    reparaZindex();
}

阅读 678

收藏
2020-05-16

共1个答案

一尘不染

您没有告诉它,但是您正在使用jQuery UI 1.10。

在jQuery UI 1.10中,该zIndex选项已删除:

删除了zIndex选项

与stack选项类似,对于适当的堆栈实现,zIndex选项是不必要的。z-index是在CSS中定义的,现在可以通过确保焦点对话框是其父级中的最后一个“堆栈”元素来控制堆栈。

您必须使用纯CSS来将对话框设置为“顶部”:

.ui-dialog { z-index: 1000 !important ;}

您需要按键!important来覆盖元素的默认样式;如果只需要为对话框设置对话框,请使用此dialogClass选项并设置其样式,这会影响所有对话框。

如果需要模态对话框设置modal: true选项,请参阅docs

如果设置为true,则对话框将具有模式行为;否则,对话框将具有模式行为。页面上的其他项目将被禁用,即无法与之交互。模式对话框在对话框下方但在其他页面元素上方创建一个叠加层。

您需要使用较高的z-index设置模式叠加,才能使用:

.ui-front { z-index: 1000 !important; }

对于这个元素。

2020-05-16