0

为什么下面的示例代码在我的浏览器 firefox v. 19.0.2 中不起作用?

<html>
<head>
<style>
#example {
position: absolute;
top: 20px;
left: 50px;
width: 300px;
height: 300px;
background-color: #C00;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$("#example").mousemove(function(e) {
var xPos = e.pageX - $(this).position().left;
var yPos = e.pageY - $(this).position().top;
$("#pos").text("x: " + xPos + " / y: " + yPos);
});
</script>
</head>
<body>
<div id="example"></div>
<div id="pos"></div>
</body>
</html>

<div>我看不到ID 为 pos的标签中应该存在的坐标。ThanX 提前为您提供帮助。

4

1 回答 1

3

当元素尚不存在于 DOM 中时,您将附加事件处理程序。将您的 JavaScript 包装在.ready()处理程序中:

$(document).ready(function() {
    $("#example").mousemove(function(e) {
        var xPos = e.pageX - $(this).position().left;
        var yPos = e.pageY - $(this).position().top;
        $("#pos").text("x: " + xPos + " / y: " + yPos);
    }); 
});
于 2013-03-29T13:19:17.933 回答