gwt按钮在IE中工作而不是firefox chrome

时间:2012-02-29 01:01:50

标签: gwt button imagebutton

使用GWT,我有一个包含在FlowPanel中的PushButton(带有图像),它又包含在DockPanel WEST组件中。该按钮仅响应IE中的点击,但不响应Firefox,Chrome。任何帮助表示赞赏...

代码:

DockPanel dock = new DockPanel(); 
FlowPanel navigation = new FlowPanel(); 
PushButton synopsisButton = new PushButton(synopsis); 
navigation.add(synopsisButton); 
dock.add(navigation,dock.WEST); 
RootPanel.get().add(dock);

synopsisButton.addClickHandler(new ClickHandler() { 
  @Override 
  public void onClick(ClickEvent e) { 
    Window.alert("in synopsis click handler");
});

1 个答案:

答案 0 :(得分:3)

  

GWT 2.0布局系统仅适用于“标准”   模式“。这意味着您应该始终放置以下内容   HTML页面顶部的声明:

     

如上所述,一些现有的GWT面板不起作用   完全按照标准模式的预期。这主要源于   标准和怪癖模式呈现表格的方式之间的差异。

     

CellPanel(Horizo​​ntalPanel,VerticalPanel,DockPanel) - 这些面板   都使用表格单元格作为基本结构单元。虽然他们还在   在标准模式下工作,他们会在一定程度上规划自己的孩子   不同。主要区别在于他们的孩子不会   尊重宽度和高度属性(通常设置孩子的   CellPanels显式为100%宽度和高度)。还有   浏览器为个人分配空间的方式的差异   可能导致意外行为的表行和列   标准模式。

     

您应该使用DockLayoutPanel代替DockPanel。 VerticalPanel   通常可以用简单的FlowPanel替换(因为块级别   元素自然会垂直叠加)。   http://code.google.com/intl/ru-RU/webtoolkit/doc/latest/DevGuideUiPanels.html#Standards

检查项目中“war”文件夹中的.html文件。它应包含<!doctype html>。 我测试了你的代码,它适用于所有浏览器。