Javascript 在firefox中捕获页面的x和y坐标

Javascript 在firefox中捕获页面的x和y坐标,javascript,jquery,html,coordinates,Javascript,Jquery,Html,Coordinates,我使用jquery插件来显示页面。我能够在Chrome和IE中捕获整个页面的坐标,但当我尝试在Firefox中执行相同操作时,它捕获的是屏幕坐标,而不是页面坐标。有人能帮忙吗 代码: $('.page').bind('click', function(event) { var x; var y; if (!(event.offsetX || event.offsetY)) { x = event.clientX; y = e

我使用jquery插件来显示页面。我能够在Chrome和IE中捕获整个页面的坐标,但当我尝试在Firefox中执行相同操作时,它捕获的是屏幕坐标,而不是页面坐标。有人能帮忙吗

代码:

$('.page').bind('click', function(event) {      

    var x;
    var y;


    if (!(event.offsetX || event.offsetY)) {

     x = event.clientX;
         y = event.clientY;

        }
        else {
            x = event.offsetX;
            y = event.offsetY;
        }               

    alert("x :" +x +", y: " +y);
}); 

在使用jQuery时,请使用该事件对象的
pageX
pageY
属性。从该链接:

事件属性

jQuery规范化以下属性以实现跨浏览器一致性:

  • 目标
  • 相关目标
  • pageX
  • pageY
  • 哪个
  • 元键
(我的重点。)

这些将可靠地与文档相关。如果您试图获取与事件发生所在元素相关的坐标,可以通过找到该元素的位置,然后进行计算:

$(".page").click(function(event) {
    var pos = $(this).offset();

    console.log("Click relative to document: " + event.pageX + "x" + event.pageY);
    pos.left = event.pageX - pos.left;
    pos.top  = event.pageY - pos.top;
    console.log("Click relative to element:  " + pos.left + "x" + pos.top);
});

|

在使用jQuery时,请使用该事件对象的
pageX
pageY
属性。从该链接:

事件属性

jQuery规范化以下属性以实现跨浏览器一致性:

  • 目标
  • 相关目标
  • pageX
  • pageY
  • 哪个
  • 元键
(我的重点。)

这些将可靠地与文档相关。如果您试图获取与事件发生所在元素相关的坐标,可以通过找到该元素的位置,然后进行计算:

$(".page").click(function(event) {
    var pos = $(this).offset();

    console.log("Click relative to document: " + event.pageX + "x" + event.pageY);
    pos.left = event.pageX - pos.left;
    pos.top  = event.pageY - pos.top;
    console.log("Click relative to element:  " + pos.left + "x" + pos.top);
});

|

我也用过。我在firefox中获得坐标,但它们是屏幕的坐标,而不是页面的坐标。所以当我向下滚动时,坐标保持不变/哦。你的答案似乎总是带来新的、有趣的事情……=)@不,它们不是屏幕上的坐标。它们是文件上的坐标。你是在试图找出相对于元素的坐标吗?@DavidThomas:如果是,那是因为你努力做到了这一点。:-)(谢谢!)我在ff上试过。。只需要检查一下我的项目。非常感谢!!我也用过。我在firefox中获得坐标,但它们是屏幕的坐标,而不是页面的坐标。所以当我向下滚动时,坐标保持不变/哦。你的答案似乎总是带来新的、有趣的事情……=)@不,它们不是屏幕上的坐标。它们是文件上的坐标。你是在试图找出相对于元素的坐标吗?@DavidThomas:如果是,那是因为你努力做到了这一点。:-)(谢谢!)我在ff上试过。。只需要检查一下我的项目。非常感谢!!