获取用户点击的图像部分

发布于 2024-11-26 11:57:41 字数 77 浏览 0 评论 0原文

是否可以找到用户点击图像的位置?

我有一个图像 - 用户可以单击该图像。我正在尝试找到一种方法,当用户点击时如何到达该位置。

Is it possible to find where the user clicked on the image?

I have an image - and onto the image the user can click. And I am trying to find a way, how to get the place, when the user clicked.

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

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

发布评论

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

评论(3

半城柳色半声笛 2024-12-03 11:57:41

单击图像时,您可以使用事件对象找到用户单击的坐标。

$("imageSelector").click(function(e){
  var pos = $(this).position();
  //The following are the x/y coordinates of the mouse click relative to image.
  var x = e.pageX - pos.left;
  var y = e.pageY - pos.top;
});

On image click you can find the coordinates where the user clicked using the event object.

$("imageSelector").click(function(e){
  var pos = $(this).position();
  //The following are the x/y coordinates of the mouse click relative to image.
  var x = e.pageX - pos.left;
  var y = e.pageY - pos.top;
});
山川志 2024-12-03 11:57:41

不要被未考虑边距、填充和边框的方法所愚弄!

这是您需要的代码。 :

$("#myImage").click ( function (evt) {

    var jThis               = $(this);
    var offsetFromParent    = jThis.position ();
    var topThickness        = (jThis.outerHeight(true) - jThis.height() ) / 2;
    var leftThickness       = (jThis.outerWidth (true) - jThis.width () ) / 2;

    //--- (x,y) coordinates of the mouse click relative to the image.
    var x                   = evt.pageX - offsetFromParent.left - leftThickness;
    var y                   = evt.pageY - offsetFromParent.top  - topThickness;
} );

在 jsFiddle 上查看它的实际情况。

Don't be fooled by methods that fail to take margin, padding, and border into account!

This is the code you need. :

$("#myImage").click ( function (evt) {

    var jThis               = $(this);
    var offsetFromParent    = jThis.position ();
    var topThickness        = (jThis.outerHeight(true) - jThis.height() ) / 2;
    var leftThickness       = (jThis.outerWidth (true) - jThis.width () ) / 2;

    //--- (x,y) coordinates of the mouse click relative to the image.
    var x                   = evt.pageX - offsetFromParent.left - leftThickness;
    var y                   = evt.pageY - offsetFromParent.top  - topThickness;
} );

See it in action at jsFiddle.

我三岁 2024-12-03 11:57:41

您可以轻松获取鼠标位置,然后可以向该点相对于图像添加一些内容。

以下是鼠标位置的示例:jquery.com

You can get the mouse position easily, and then you can add something to that point relative to the image.

Here's an example of mouse position: jquery.com

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文