鼠标单击event.pagex是移动Chrome浏览器中的NaN(v30.0.1599.92)

我正在尝试在用户点击的位置显示信息框类型的元素。 我正在听’click’事件,处理函数使用鼠标点击甚至对象的event.pageX和event.pageY来呈现信息框。 这在桌面浏览器中完美运行。 我尝试从移动客户端访问该页面。 event.pageX和event.pageY似乎是“NaN”。 知道为什么??

处理程序的一部分如下。

var pushPinClickEventHandler = function (event) { var clickX = event.pageX; var clickY = event.pageY; //do some thing here } 

编辑:添加有关鼠标事件对象的详细信息

桌面:

 isPrimary: true isSecondary: false isTouchEvent: undefined pageX: 136 pageY: 269 

移动:

 isPrimary: false isSecondary: false isTouchEvent: true pageX: NaN pageY: NaN 

我发现的解决方案是使用event.originalEvent.x和event.originalEvent.y覆盖event.pageX和event.pageY的值。

之后,您可以获得调用event.getX(),event.getY()的位置。

这个解决方案适合我。 我用 :

 `event.changedTouches[0].pageX` `event.changedTouches[0].pageY` 

替代

 `event.pageX` `event.pageY`