获取相对于div位置的鼠标坐标在firefox中不起作用

时间:2013-03-29 13:16:03

标签: jquery

为什么下面的示例代码不能在我的浏览器中运行,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>

我无法看到ID为pos的<div>标签中的坐标。 ThanX提前为您提供帮助。

1 个答案:

答案 0 :(得分: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);
    }); 
});