在具有z-index的情况下,jQuery对话在Safari中不可见?

时间:2012-07-20 17:57:50

标签: jquery-ui safari dialog

我们有一个非常jQuery / Javascript繁重的Web应用程序,jQuery Dialogs在各地都在使用,但是一个特定的对话框在Windows上的Safari中出现问题。它是这样创建的:

$('#cnav-dispatch-center-window').dialog({
    close: stateObject.DeviceOptions.dispatchPin_dispose,
    resizable: false,
    width: 613,
    height: 467,
    dialogClass: 'dialog-window-alertedit',
    show: 'fade',
    hide: 'fade',
    open: stateObject.DeviceOptions.RefreshSelection
});​

对于此对话框,我们不会对任何其他对话框执行任何特殊操作。此对话框表现出奇怪的行为:

  • 不可见
  • 它仍会拦截点击次数
  • 如果您能找到标题栏
  • ,它仍然可以拖动
  • 它具有非常高的z-index(10,000 +)

如果删除z-index,将显示对话框。我已经使用开发人员工具对其进行了测试。我不知道是什么设置了z-index,我不知道如何取消它。只要存在z-index,无论其值是什么,它都不会显示。它可以在其他所有浏览器中正常工作。

1 个答案:

答案 0 :(得分:4)

对于遇到此问题的任何人:

我不知道为什么,并且对任何可以解释它的人表示赞赏,但补充说:

z-index: auto important;

对话框的类(在我的示例中为dialog-window-alertedit)为我解决了问题。奇怪的是,Safari继续报告z-index是10,000+,但是我的对话框正在显示,所以我把它调得足够接近。