GWT:无论其他警报如何,都会在顶部显示警报消息

时间:2013-09-02 06:32:29

标签: java css gwt z-index

考虑以下情况。

我的应用程序中有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显示在后面。

使用三个对话框快速查看问题。


enter image description here

很少有Css知识试图为Z-index设置alert2

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

仍然知道效果。它显示在同一个地方但无法点击alert2上的链接

感谢任何提示。

3 个答案:

答案 0 :(得分:1)

问题似乎出现在DialogBox的模态功能上(继承自它的PopupPanel)。默认情况下,它会阻止对话框中未包含的窗口小部件的鼠标和键盘事件。因为alert3已经显示在最后一个,它会禁用alert2事件。

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

 alert1.setModal(false);

或调用此构造函数:

 final DialogBox alert1 = new DialogBox(true, false);

答案 1 :(得分:0)

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

答案 2 :(得分:0)

对话框的 css 出现问题。请检查每个对话框所应用的css是否具有不同的 z-index 或相同。