我在父 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/