考虑以下情况。
在我的应用程序中有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
上的链接感谢任何提示。
最佳答案
问题似乎出在DialogBox的模式功能上(从继承的PopupPanel继承)。默认情况下,它防止对话框未包含的窗口小部件的鼠标和键盘事件。因此,由于alert3已显示在最后,因此它将禁用alert2事件。
如果要禁用模式属性的对话框,请将模式设置为false:
alert1.setModal(false);
或调用此构造函数:
final DialogBox alert1 = new DialogBox(true, false);