jquery点击查找位置 - 返回包络div而不是div

时间:2013-12-20 21:52:09

标签: jquery css

我正在使用:

$(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,定位等数小时,但我无法弄清楚这一点。

1 个答案:

答案 0 :(得分:3)

我认为您希望使用.offset()代替.position()

来自JQuery documentation for .position()

  

.position()方法允许我们检索当前位置   相对于偏移父项的元素。与此形成鲜明对比   .offset(),它检索相对于的当前位置   文档。

来自JQuery documentation for event.pageX

  

相对于文档左边缘的鼠标位置。