鼠标单击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`