Ich teste die HTML5-Leinwand und verwende Javascript zum Zeichnen für touchfähige Geräte. Während ich es in iOS-Geräte arbeiten kann ich nicht bekommen, es auf Android zu arbeiten. Ich habe es auf event.pageX eingegrenzt, das die Koordinaten nicht zurückgibt, aber stattdessen entweder 0 oder undefiniert (basierend auf dem Browser) zurückgibt.
Ich habe es auf meinem Handy mit Cyanogen 7.1 in Opera Mobile und Dolphin Browser getestet, und auch auf einem Galaxy Tab 10.1 (Android 3.1) mit dem Standardbrowser.
Ich habe den Code so geändert, dass bei einem Touchstart-Ereignis eine Warnung mit den Koordinaten event.pageX, event.layerX und event.clientX angezeigt wird (ich bin mir bewusst, dass clientX nur unter iOS funktionieren sollte).
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);
}
});
Ich habe die vollständige Zeichnung in iOS arbeiten, aber kann nicht einmal Android bekommen, um die Koordinaten zu registrieren, irgendwelche Ideen?
FINAL EDIT: Ich habe das Problem gelöst, siehe die akzeptierte Antwort.