我正在使用:
$(document).ready(function(e) {
$('.map').click(function(e) {
var posX = $(this).position().left,posY = $(this).position().top;
$(".formX").val((e.pageX - posX))
$(".formY").val((e.pageY - posY))
});
});
在地图中查找位置,但返回的结果是包含项目的div的位置而不是声明的类
http://www.djnovainmobiliaria.com.mx/example/
当我删除div时,它工作正常并在div中给出坐标,无论页面上的位置如何
http://www.djnovainmobiliaria.com.mx/example/without.html
尽管改变了CSS z-index,定位等数小时,但我无法弄清楚这一点。
答案 0 :(得分:3)
我认为您希望使用.offset()
代替.position()
。
来自JQuery documentation for .position()
:
.position()方法允许我们检索当前位置 相对于偏移父项的元素。与此形成鲜明对比 .offset(),它检索相对于的当前位置 文档。
来自JQuery documentation for event.pageX
:
相对于文档左边缘的鼠标位置。