我正在测试HTML5画布并使用Javascript为支持触摸的设备绘制。虽然我在iOS设备上工作,但无法在Android上使用它。我缩小到event.pageX不返回坐标,而是返回0或未定义(基于浏览器)。无法在Android设备上的Javascript中获取touchevents的坐标
我已经在运行Opera Mobile和Dolphin浏览器的Cyanogen 7.1以及运行标准浏览器的Galaxy Tab 10.1(Android 3.1)上测试了我的手机。
我修改了代码以显示touchstart事件的警报,显示event.pageX,event.layerX和event.clientX坐标(我知道clientX只能在iOS上工作)。
canvas.addEventListener('touchstart', function(e) {
if (readyToDraw){
alert("PageX: "+e.pageX+","+e.pageY+"\n LayerX: "+e.layerX+","+e.layerY+"\n + clientX: "+e.clientX+","+e.clientY);
// prevent the browsers default action!
e.preventDefault();
paint = true;
// Get coordinates
var c = getCoords(e);
addClick(c.x, c.y, false);
}
});
我已经得到了全图中的iOS工作,但拿不拿Android的注册坐标,任何想法?
FINAL EDIT:我解决了这个问题,看到接受的答案。
请参见[this](http://stackoverflow.com/questions/6099268/does-html5-support-touch-on-mobile-phones)。如果你仍然无法工作,我想那个phoneGap会起作用。 – toto2 2012-03-06 15:32:15
谢谢,这帮了我很多! – 2012-08-06 14:50:31
@Stu很好,它的工作。你能否从你的编辑中做出回答,所以这个问题留下了“未回答的问题”标签。 :) 谢谢! – 2014-06-08 18:42:35