我想使用jQuery来获取图像上单击事件的X/Y坐标。坐标应相对于图像,而不是相对于整个页面
发布于 2010-01-29 08:36:38
您可以使用pageX
and pageY
来获取鼠标在窗口中的位置。您还可以使用jQuery的offset
来获取元素的位置。
因此,离图像左侧的距离应该是pageX - offset.left
,离图像顶部的距离应该是pageY - offset.top
。
下面是一个示例:
$(document).ready(function() {
$('img').click(function(e) {
var offset = $(this).offset();
alert(e.pageX - offset.left);
alert(e.pageY - offset.top);
});
});
我已经做了一个live example here,here是它的源码。
发布于 2011-09-01 00:46:28
注意!e.clientX
& e.clientY
与e.pageX
和e.pageY
之间是有区别的
尝试这两种方法,并确保您使用的是正确的方法。基于滚动位置的clientX
和clientY
的变化
发布于 2012-12-27 03:10:17
下面是一个更好的脚本:
$('#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);
});
https://stackoverflow.com/questions/2159044
复制相似问题