GWT错误!?添加 CSS 时未触发"position: absolute"单击处理程序



(GWT 2.4.0)

添加CSS: "position: absolute"(见附件代码)后,GWT事件"ClickHandler"停止工作。在Chrome 16.0.9和FireFox 8.0上测试,在IE 9上代码运行正常。(完整的代码片段在github: https://gist.github.com/1533904)。这是GWT bug还是我做错了什么?

文件:client.MySampleApplication.java

public void onModuleLoad() {
    final Button button = new Button("Click me");
    button.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            Window.alert("ahtung");
        }
    });
    RootPanel.get("slot1").add(button);
    final Button button2 = new Button("Click me2");
    button2.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            Window.alert("ahtung2");
        }
    });
    RootPanel.get("slot2").add(button2);
}

文件:web.MySampleApplication.html

<html>
<head>
    <title>Wrapper HTML for App</title>
    <script type="text/javascript" language="javascript"
            src="MySampleApplication/MySampleApplication.nocache.js"></script>
</head>
<body>
    <div id="slot1" style="position: absolute; padding-top: 50px; padding-left: 150px;" ></div>
    <div id="slot2" style="position: absolute; padding-top: 100px; padding-left: 150px;" ></div>
</body>
</html>

您的div是一个在另一个之上:两个都位于0,0;slot1至少是50px高(加上你放在里面的按钮的高度),slot2位于顶部(因为它在文档中后面,它们有相同的z-index)和至少100px高,因此覆盖slot1

您可能希望使用top而不是padding-top, left而不是padding-left

最新更新