我正在測試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