我发现最新版本的jQuery UI(1.10)删除了zIndex
选项。它已在jQuery网站上得到确认。
这真让我震惊。请考虑一下:
当我们有一个jqgrid时,使用editrow()
或addrow()
打开编辑对话框来编辑某些内容,里面有很多字段,其中一些有自定义事件,例如,单击它时,它将显示另一个jQuery对话框,以显示一些要选择的树视图项。
在jQuery UI 1.9(包含)下,您可以将jQuery对话框的zIndex
选项设置为大于jqgrid编辑对话框(jqgrid编辑对话框支持集zIndex
),因此jQuery对话框始终在并且可以被看到和使用。
在jQuery UI 1.10下,您无法设置zIndex
,因此jQuery对话框始终位于jqgrid编辑对话框的后面。
我认为这种场景很常见。
为什么jQuery UI 1.10删除了jQuery对话框zIndex
选项?如果有多个对话框,如何控制z-index
订单?
答案 0 :(得分:26)
我想我理解你的问题。 jQuery UI对话框的CSS z-index不够高,无法始终显示在您的内容之上。这是一个快速修复:
/* A class used by the jQuery UI CSS framework for their dialogs. */
.ui-front {
z-index:1000000 !important; /* The default is 100. !important overrides the default. */
}
答案 1 :(得分:6)
只需阅读jQuery UI 1.10的更改日志(以及已提交的the bug):
删除了zIndex选项
与堆栈选项类似,使用正确的堆叠实现不需要zIndex选项。该 z-index在CSS中定义,现在通过确保来控制堆叠 焦点对话框是其父级中的最后一个“堆叠”元素。
换句话说:你应该使用zIndex选项将属性堆叠元素而不是“黑客”堆叠方式。
答案 2 :(得分:2)
如果要在实例化对话框时使用jQuery应用zIndex,则可以执行以下操作:
$('#element').dialog({ your options... }).parent('.ui-dialog').css('zIndex',9999);
答案 3 :(得分:0)
您是否尝试过使用“appendTo”选项?只需动态添加一个包含z-index的包装器,然后使用该元素的id作为“appendTo”参数中的选择器。
答案 4 :(得分:0)
答案 5 :(得分:-2)
$('#element').dialog({ modal: true,
stack: false,
zIndex: 9999,
...
为我工作