Can';无法在Android设备上获取Javascript中touchevents的坐标

Can';无法在Android设备上获取Javascript中touchevents的坐标,javascript,android,touch-event,Javascript,Android,Touch Event,我正在测试HTML5画布,并使用Javascript绘制支持触摸的设备。虽然我可以在iOS设备上运行,但我无法让它在Android上运行。我将其缩小到event.pageX,不返回坐标,而是返回0或未定义(基于浏览器) 我在Opera Mobile和Dolphin浏览器中运行Cynagen 7.1的手机上测试过它,在运行标准浏览器的Galaxy Tab 10.1(Android 3.1)上也测试过它 我修改了代码,在touchstart事件上显示警报,显示event.pageX、event.la

我正在测试HTML5画布,并使用Javascript绘制支持触摸的设备。虽然我可以在iOS设备上运行,但我无法让它在Android上运行。我将其缩小到event.pageX,不返回坐标,而是返回0或未定义(基于浏览器)

我在Opera Mobile和Dolphin浏览器中运行Cynagen 7.1的手机上测试过它,在运行标准浏览器的Galaxy Tab 10.1(Android 3.1)上也测试过它

我修改了代码,在touchstart事件上显示警报,显示event.pageX、event.layerX和event.clientX坐标(我知道clientX应该只在iOS上工作)

我已经在iOS上完成了完整的绘图,但甚至无法让Android注册坐标,有什么想法吗


最终编辑:我解决了这个问题,请参阅接受的答案。

最终编辑:好的,我让它工作了,如果有人发现这个问题并且有类似的问题,您需要在事件中访问触摸阵列,如果只使用单触(而不是多触)从阵列中取出第一项,如下所示,或者,如果不准确,您可能需要对其进行补偿:

var touch = event.touches[0];
var x = touch.pageX;
var y = touch.pageY;
// or taking offset into consideration
var x_2 = touch.pageX - canvas.offsetLeft;
var y_2 = touch.pageY - canvas.offsetTop;

不适合我(在iScroll 5上下文中)。使用了
更改触摸[0]
,如中所述。

请参阅。如果你仍然不能让它工作,我想phoneGap会工作的。谢谢,这对我帮助很大@斯图,很好,开始工作了。你能从编辑中做出回答吗?这样这个问题就可以离开“未回答的问题”选项卡了。:)谢谢对于最终出现在这里的jQuery用户,请使用
event.originalEvent.touchs[0]
,您救了我的命。我在cordova应用程序中花了几个小时试图找到错误。最后,我可以在所有平台上发布它。
var touch = event.touches[0];
var x = touch.pageX;
var y = touch.pageY;
// or taking offset into consideration
var x_2 = touch.pageX - canvas.offsetLeft;
var y_2 = touch.pageY - canvas.offsetTop;