2017-10-13 54 views
0

我想让对话框出现在jQuery的对话框中。我遇到的问题是当顶部对话框打开时,z-indexes是错误的,所以具有类ui-widget-overlay的div出现在第一个对话框后面,而不是在第二个对话框后面。jQuery UI对话框z-index问题

这里是Z-指标的细分:

我将把第一个对话框打开的对话框#1和在此之上的一个打开的对话框#2和UI窗口小部件的叠加为ui-widget-overlay#1和ui-widget-overlay#2。

对话框#1被打开,并且其z索引被设置为1以设置为0的UI窗口小部件的覆盖#1的z-index

对话框#2被打开和其z索引被设置为1使用ui-widget-overlay#2 z-index设置为0

然后,当我关闭对话框#2并重新打开它时,此时对话框#2 z-index被正确设置为2,并且ui-widget-overlay# 2正确设置为1

有没有人有任何想法,为什么发生这种情况,是否有jquery-ui设置我缺少告诉它增加后续对话的z索引?

编辑: 我也想指出,我已经设置对话框选项stack:true,它已没有什么区别。

回答

0

我不得不使用一点黑客来按预期工作。

基本上我添加了一个事件时创建的模式,因此对话框初始化是一样的东西:

dialogWindow.dialog({ 
     modal: true, 
     create: function(event, ui) { 
      dialogWindow.parent('.ui-dialog').css('zIndex', 2) 
       .nextAll('.ui-widget-overlay').css('zIndex', 1); 
     } 
    }); 

多亏了后下给我这个答案。

How to fix the zIndex issue with jQuery Dialog UI