鼠标位置和偏移量

Gal*_*ale 1 javascript jquery mousemove

我在某个网页上获取鼠标坐标并保存.

$("div#container").mousemove( function(e) {
      client_x = e.pageX;
  client_y = e.pageY;

  // save x,y

});
Run Code Online (Sandbox Code Playgroud)

现在其他人加载相同的页面,我想向他们显示相同的坐标(x,x位置).

如果我必须考虑div#容器与浏览器中的位置不同(考虑屏幕分辨率和滚动),我怎么能得到同样的观点呢?

Oha*_*had 6

我会使用$.offset().top$.offset().left父DIV的容器,并计算出的差异当前的X和鼠标光标的Y坐标.

.offset() 始终引用文档而不是元素的父代.

例如:

$('#element').mousemove(function(e){
    var client_x = e.pageX;
    var client_y = e.pageY;
    var elementOffset = $(this).offset();
    client_x -= elementOffset.left;
    client_y -= elementOffset.top;

    // save x, y.
});
Run Code Online (Sandbox Code Playgroud)

然后,在其他用户显示器上,将它们添加到其偏移后显示坐标.