【发布时间】:2013-11-10 10:27:11
【问题描述】:
我试图在用户点击的位置显示一种信息框元素。我正在听“点击”事件,处理函数使用鼠标点击甚至对象的 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
【问题讨论】:
-
你是如何绑定事件的?你能做一个 Jsfiddle 测试页面吗?
-
你确定吗?不就是
undefined吗?如果您尝试对undefined进行算术运算,例如:1 + undefined,您将得到NaN(不是数字)。 -
我非常怀疑,如果您在本机
event上执行console.log(event.pageX),您将得到NaN- 代码比您发布的更多。 -
@Lepidosteus 我在页面中使用 bing maps ajaxv7 api。绑定如下:Microsoft.Maps.Events.addHandler(TmpPushPin, 'click', pushPinClickEventHandler);
-
@Adam isNaN(event.pageX) 评估为真。
标签: javascript jquery mobile-website bing-maps