我正在测试HTML5画布并使用Javascript为触摸设备绘制。虽然在iOS设备上可以工作,但我无法让它在Android上工作。我已经缩小到event.pageX不返回坐标,而是返回0或未定义(基于浏览器)。
我已在我的手机上运行Cyanogen 7.1中的Opera Mobile和Dolphin浏览器上进行了测试,并在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上甚至无法注册坐标,有任何想法吗?
最终编辑:我解决了这个问题,请参见被接受的答案。