如何获得精确的鼠标按下坐标?为什么我的代码不起作用?

发布于 2024-12-07 12:27:54 字数 453 浏览 1 评论 0原文

我想在鼠标按下的地方显示一些东西,我尝试使用:

$('#my-graph').mousedown(function(evt){

      // show object at:
      var x= evt.screenX, y=evt.screenY;

      //or show object at:
     var x2=evt.pageX, y2=evt.pageY;

     //code to render object at (x,y) and (x2,y2)
     ......  
});

但是上面的 (x, y) 和 (x2,y2) 都没有将渲染的对象放置在鼠标单击的位置,并在一定距离之外显示该对象从鼠标按下的地方开始,为什么?

我使用位置属性渲染对象,位置相对于 #my-graph div,div 的左上角应该是原点(0,0)

I would like to show something at the mouse down place, I tried to use :

$('#my-graph').mousedown(function(evt){

      // show object at:
      var x= evt.screenX, y=evt.screenY;

      //or show object at:
     var x2=evt.pageX, y2=evt.pageY;

     //code to render object at (x,y) and (x2,y2)
     ......  
});

But neither of the above (x, y) and (x2,y2) place the rendered object at the mouse clicked place, and show the object some distance away from mouse down place, why?

I render the object with a position attributes, the position is relative to the #my-graph div, left up most corner of the div is supposed to be the origin point(0,0)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小忆控 2024-12-14 12:27:54

您似乎想要 offsetXoffsetYhttp://jsfiddle.净/f52Gg/

$("div").mousedown(function(e){
    alert(e.offsetX + " " + e.offsetY);
});

You seem to want offsetX and offsetY: http://jsfiddle.net/f52Gg/.

$("div").mousedown(function(e){
    alert(e.offsetX + " " + e.offsetY);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文