考虑以下情况。
我的应用程序中有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
上的链接
感谢任何提示。
答案 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 或相同。