(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
。