当我调用getAbsoluteLeft / Top方法时,我总是在firefox中得到0。对于IE我得到一个似乎是正确的值。使用这些方法是否存在已知问题?我的问题是我想用另一个元素的绝对位置值设置元素的位置。提前致谢。编辑:使用GWT 2.0.3
kuku
编辑测试用例: 1.主页:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Web Application Starter Project</title>
<script type="text/javascript" language="javascript" src="samplegwt/samplegwt.nocache.js"></script>
<script type="text/javascript" language="javascript">
function execute() {
var element = document.getElementById("paragraph");
if (element != undefined)
element.style.display = "block";
}
</script>
<STYLE TYPE="text/css">
#paragraph {
display: none;
}
</STYLE>
</head>
<body class="body" onload="execute()">
<div align="center">
<table>
<tr>
<td>
<p id="paragraph">
<input type="text" id="example" value="Foobar" > <a href="#"><img border="0" src="images/some.gif" alt="Test"></a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
在onModuleLoad()中,我只需执行此操作:System.out.println(Document.get().getElementById("paragraph")
.getAbsoluteLeft());
答案 0 :(得分:1)
正如评论中所述,问题是该元素不可见,导致IE和FF有两种不同的行为。