鼠标相对于父 div 内的 Div 坐标,带有滚动



我在父 Div 中有两个 Div(溢出:自动(两个 Div 很大,所以我得到了父级的滚动,问题是当我上下滚动时,我得到了内部 Div 的可变鼠标坐标(onclick 事件((有时甚至是负值(这是我计算鼠标相对值的方法

jQuery(document).ready(function(){
$("#MnDiv").click(function(e){
var clientXRel = e.clientX - this.offsetLeft;
var clientYRel = e.clientY - this.offsetTop;
var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
var clientCoordsRel = "( " + clientXRel  + ", " + clientYRel  + " )";
$("span:first").text("( e.clientX, e.clientY ) : " + clientCoords);
$("span:last").text("( clientXRel  , clientYRel  ) : " + clientCoordsRel
+      " ( offsetLeft  , offsetTop  ) : " + this.offsetLeft+ ", " this.offsetTop); 
});

所以问题是无论卷轴在哪里,如何获得相对于内部 Div 的正确坐标?完整的例子(jsfiddle(在这里

提前致谢

使用 jQuery 事件变量.pageX.pageY以及元素偏移函数.offset().top.offset().left

所以它看起来像

var clientXRel = e.pageX- $(this).offset().left;
var clientYRel = e.pageY - $(this).offset().top;

http://jsfiddle.net/PNLU3/3/

最新更新