Javascript 使用jquery.hammer.js时如何返回X和Y坐标

Javascript 使用jquery.hammer.js时如何返回X和Y坐标,javascript,jquery,coordinates,hammer.js,Javascript,Jquery,Coordinates,Hammer.js,我正在使用jquery.hammer.js编写一个小页面,在获取触摸事件的x和y坐标时遇到问题 我的代码如下: var x1, y1; var element = document.getElementById("myDIV") $(element).hammer().on("touch", function(e){ x1 = e.clientX y1 = e.clientY document.getElementById("resultDIV").innerHTML = x1 + " " +

我正在使用jquery.hammer.js编写一个小页面,在获取触摸事件的x和y坐标时遇到问题

我的代码如下:

var x1, y1;
var element = document.getElementById("myDIV")
$(element).hammer().on("touch", function(e){
x1 = e.clientX
y1 = e.clientY

document.getElementById("resultDIV").innerHTML = x1 + " " + y1
}
但我得到的结果是“未定义未定义”

我有我能想到的一切,非常感谢任何帮助

  • 你错过了
    在末尾
  • 尽量在每个
    语句的结尾使用分号(
  • 如果您开始使用一些库,请先阅读文档和操作部分
  • 您可以从中找到所需的信息

    更新:
    我分析了
    事件
    对象,找到了该对象的
    手势
    属性。
    手势
    包含另一个属性,称为
    center
    。最后,您可以使用
    pageX
    pageY
    从该属性获取X和Y坐标

    var x1, y1;
    x1 = e.gesture.center.pageX;
    y1 = e.gesture.center.pageY;
    
    下面是您在中的示例的工作演示

    此外,如果您使用
    多点触摸
    ,则可以使用
    手势
    属性的
    触摸
    数组来获取每个触摸的坐标。其他属性名称保持不变(
    pageX,pageY


    下面是您使用
    触碰
    数组仅获取第一次触碰的坐标的示例。

    e.手势
    现在已被弃用。 对于最新版本的Hammer.js,您应该使用

    var tapX, tapY;
    tapX = e.center.x;
    tapY = e.center.y;
    

    我需要调查原始事件以使我的工作正常。下面是一个类似情况的其他人的例子

    $("#id").hammer({ domEvents: true }).on("press", ".elems", function (e) {
        console.log("pressed");
        console.log(e.originalEvent.gesture.center.x);
        console.log(e.originalEvent.gesture.center.y);
        return false;
    });
    

    Hammer版本
    Hammer.JS-v2.0.4-2014-09-28
    在hammerjs
    2.0.8
    中,我使用
    ev.srcEvent.offsetX
    ev.srcEvent.offsetY

    尝试e.target.clientX,因为e甚至不是元素,event.tartget返回事件发生的元素。并搜索“事件数据”,您将找到even@AmitChotaliya谢谢,但这也没用。我也看到了这篇文章,但没有任何帮助either@DFania你找到解决办法了吗?我也遇到了同样的问题。仅供参考,它们提供了与页面相关的坐标,而不是与对象相关的坐标。如何获取与对象相关的坐标?对于对象相关的坐标,请尝试:e.changedPointers[0]。pageX和e.changedPointers[0]。pageY。这对我在手机上不起作用。。。它似乎与页面缩放有关,我得到的x,y坐标看起来大约是它们应该的1/2,但在事件结构中没有任何指示(例如,“比例”报告为1)
    $("#id").hammer({ domEvents: true }).on("press", ".elems", function (e) {
        console.log("pressed");
        console.log(e.originalEvent.gesture.center.x);
        console.log(e.originalEvent.gesture.center.y);
        return false;
    });