使用JavaScript/jQuery获取父级div内鼠标位置

6

可能重复:
jQuery获取元素内鼠标位置

我有一个页面,在页面内有一个div。如果用户在该div内点击,它将存储他们在该div内点击的X/Y坐标。

例如,如果我在div的左上角点击(无论div放置在页面的哪个位置),它将返回大约0, 0。

这是否可能?如果可以,你能告诉我如何实现吗?或者甚至指点我正确的方向?


1
看起来这里已经有答案了:https://dev59.com/cG855IYBdhLWcg3wm1m3 - Strille
1个回答

14

使用事件的 pageX 属性获取相对于页面的 x 坐标,使用 pageY 获取 y 坐标,然后减去元素的坐标即可得到相对于该元素的位置。

$( '#target' ).on( 'click', function( e ) {
    var x = e.pageX - this.offsetLeft;
    var y = e.pageY - this.offsetTop;
});​

示例: http://jsfiddle.net/WhrFt/

jquery官方教程: http://docs.jquery.com/Tutorials:Mouse_Position


谢谢,非常有帮助——这太完美了! - user1609221
如果某个后代元素使用相对或绝对定位,则此方法不起作用。 - Robert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接