1

考虑以下情况。

在我的应用程序中有 3 个对话框。

final DialogBox alert1 = new DialogBox();
final DialogBox alert2 = new DialogBox();
final DialogBox alert3 = new DialogBox();

然后我打电话来显示这些对话框

alert1.show();
alert2.show();
alert3.show();

这是我的问题:

无论我调用show() 函数的顺序如何,我总是想alert2 在顶部显示。截至目前alert1 显示在顶部,警报 2 在中间,alert3在后面。

使用三个对话框快速查找此处的问题。


在此处输入图像描述

几乎没有 Css 知识,试图Z-index为之alert2 类设置

DOM.setIntStyleAttribute(alert.getElement(), "zIndex", 101);

还是知道效果。它显示在同一个地方,无法点击上面的链接alert2

感谢任何提示。

4

3 回答 3

1

问题似乎出在 DialogBox 的模态特性上(继承自它扩展的 PopupPanel)。默认情况下,它会阻止对话框未包含的小部件的鼠标和键盘事件。因此,由于 alert3 已最后显示,因此它禁用了 alert2 事件。

如果你想要一个禁用 modal 属性的 DialogBox,请将 modal 设置为 false:

 alert1.setModal(false);

或调用此构造函数:

 final DialogBox alert1 = new DialogBox(true, false);
于 2013-09-02T18:23:55.453 回答
0

为什么不为 alert2 设置 css,例如 position: fixed, z-index: 101?请记住,您需要指定位置。如果您想指定其他警报的顺序,只需给它们一些位置和较低的 z-index。

于 2013-09-02T06:57:30.957 回答
0

对话框的css有问题。请检查为每个具有不同z-index或相同的对话框应用的任何 css 。

于 2013-09-02T06:57:46.547 回答