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



我正在尝试在用户单击的位置显示一种信息框类型的元素。我正在侦听"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.changedTouches[0].pageX`  
`event.changedTouches[0].pageY`  

代替

`event.pageX`  
`event.pageY`

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

之后,你可以得到调用event.getX(),event.getY()的仓位。

相关内容

  • 没有找到相关文章

最新更新