首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery获取鼠标单击图像的X/Y坐标

使用jQuery获取鼠标单击图像的X/Y坐标
EN

Stack Overflow用户
提问于 2010-01-29 08:21:49
回答 5查看 166.1K关注 0票数 102

我想使用jQuery来获取图像上单击事件的X/Y坐标。坐标应相对于图像,而不是相对于整个页面

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-29 08:36:38

您可以使用pageX and pageY来获取鼠标在窗口中的位置。您还可以使用jQuery的offset来获取元素的位置。

因此,离图像左侧的距离应该是pageX - offset.left,离图像顶部的距离应该是pageY - offset.top

下面是一个示例:

代码语言:javascript
复制
$(document).ready(function() {
  $('img').click(function(e) {
    var offset = $(this).offset();
    alert(e.pageX - offset.left);
    alert(e.pageY - offset.top);
  });
});

我已经做了一个live example herehere是它的源码。

要计算离底部或右侧有多远,必须使用jQuery的widthheight方法。

票数 177
EN

Stack Overflow用户

发布于 2011-09-01 00:46:28

注意!e.clientX & e.clientYe.pageXe.pageY之间是有区别的

尝试这两种方法,并确保您使用的是正确的方法。基于滚动位置的clientXclientY的变化

票数 26
EN

Stack Overflow用户

发布于 2012-12-27 03:10:17

下面是一个更好的脚本:

代码语言:javascript
复制
$('#mainimage').click(function(e)
{   
    var offset_t = $(this).offset().top - $(window).scrollTop();
    var offset_l = $(this).offset().left - $(window).scrollLeft();

    var left = Math.round( (e.clientX - offset_l) );
    var top = Math.round( (e.clientY - offset_t) );

    alert("Left: " + left + " Top: " + top);

});
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2159044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档