Javascript 用于图像onclick()的JQuery X/Y命令

Javascript 用于图像onclick()的JQuery X/Y命令,javascript,jquery,ajax,jquery-ui,Javascript,Jquery,Ajax,Jquery Ui,我想知道是否有人能帮助我。我非常了解JS,但我对JQuery完全陌生 我有一个正在通过调用UpdateImage()动态加载的图像 加载图像后,我希望用户能够单击图像上的任何位置,并在AJAX调用中使用单击的X/Y坐标 我知道如何在纯JS中实现这一点,但我觉得必须有一个更优雅的JQuery方法 目前,我正在尝试: $(document).ready(function () { $("#Screen").click(function () { ale

我想知道是否有人能帮助我。我非常了解JS,但我对JQuery完全陌生

我有一个正在通过调用UpdateImage()动态加载的图像

加载图像后,我希望用户能够单击图像上的任何位置,并在AJAX调用中使用单击的X/Y坐标

我知道如何在纯JS中实现这一点,但我觉得必须有一个更优雅的JQuery方法

目前,我正在尝试:

    $(document).ready(function () {
        $("#Screen").click(function () {
            alert(this.x + ', ' + this.y);
        });
        UpdateImage();
    });
不幸的是,无论单击位置如何,检索到的X和Y都是常量。(x:9,y:1019)

问题:由于图像几乎位于页面左上角,我对Y值感到惊讶-它代表什么?我假设,如果不是鼠标坐标,它将是元素位置-但这似乎不正确-Y在“向上”方向上是正的,而不是向下的(如我所预期的)

我已经搜索过了,发现了很多我认为是多余的解决方案——它们适用于任何元素类型,依赖于计算元素位置、鼠标光标位置和做一些数学运算,这看起来很不优雅,容易出错,因为它依赖于浏览器。 问题:我采取的方法正确吗?我应该使用jQueryUI小部件来显示图像吗?为了便于论证,假设图像是一个屏幕截图,并且可能比浏览器窗口大-我目前正依赖浏览器进行滚动等操作。但再次怀疑是否有更好的方法

简而言之,如果您能为我指出一个好的JQuery资源(我已经找到了手册,但这对于方法签名来说比确定使用JQuery时哪种方法是正确的更有用),那么来自一些JQuery专家的任何建议都将不胜感激

如果它影响您的响应,我用来存储图像的元素如下所示

<div id="Image"><img id="Screen"/></div>


非常感谢您提供的任何帮助。

您是否尝试使用click事件附带的coords而不是元素:

$(document).ready(function () {
        $("#Screen").click(function (e) {
            alert(e.pageX + ', ' + e.pageY);
        });
        UpdateImage();
    });

该死我试图访问e,但什么也没有得到——我错过了方法声明中的e参数。谢谢你发现了一个男生的错误:)有时候只需要第二双眼睛:-)
$(document).ready(function () {
        $("#Screen").click(function (e) {
            alert(e.pageX + ', ' + e.pageY);
        });
        UpdateImage();
    });