2

我们有一个非常 jQuery/Javascript 繁重的 web 应用程序,到处都在使用 jQuery 对话框,但是一个特定的对话框在 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 存在,无论它的值是什么,它都不会显示。它在所有其他浏览器中都能正常工作。

4

1 回答 1

5

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

我不知道为什么,并向任何可以解释它的人表示敬意,但补充说:

z-index: auto important;

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

于 2012-07-20T19:07:32.440 回答