【问题标题】:mousemove grabbing the XY offset of nested elementsmousemove 抓取嵌套元素的 XY 偏移量
【发布时间】:2015-02-18 19:54:07
【问题描述】:

我正在尝试获取鼠标在父元素中的 XY 位置。这部分很简单,让我失望的是当有一个嵌套元素时,它会在该嵌套元素中抓取鼠标的 XY 位置。

我用一个非常简单的例子创建了一个 JS Fiddle:http://jsfiddle.net/htenchwv/

你可以看到我是如何用这个来拉位置的

$(".parent").mousemove(function(event){
    $(".debug").html("X: "+ event.offsetX +"<br>Y: "+ event.offsetY);
});

您可以在 X 或 Y 位置看到,当您移动到子元素时,数字会向下跳。我不知道为什么或如何防止这种行为并仅在父元素中收集 XY 鼠标

【问题讨论】:

  • “X:未定义,Y:未定义”问候,Firefox

标签: javascript jquery


【解决方案1】:

您可以使用客户端 X 和 Y,结合 .offset()

Updated demo

$(document).ready(function($){
    $(".parent").mousemove(function(event){
        var pOffset = $(".parent").offset(),
            px = event.clientX - pOffset.left,
            py = event.clientY - pOffset.top;
        $(".debug").html("X: "+ px +"<br>Y: "+ py);
    });
});

HTH

-泰德

【讨论】:

  • 但这给了它相对于页面。也许我只需要解决这个问题。
  • 编辑了答案,并更新了演示以反映元素上的 x/y,说明其偏移量
猜你喜欢
  • 2021-05-08
  • 2010-11-15
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-31
  • 1970-01-01
相关资源
最近更新 更多