Estoy probando el lienzo de HTML5 y utilizando Javascript para dibujar para dispositivos habilitados para tocar. Mientras lo tengo trabajando en dispositivos iOS, no puedo hacerlo funcionar en Android. Lo he reducido a event.pageX no devolviendo las coordenadas, sino que devuelve 0 o undefined (basado en el navegador).No se pueden obtener coordenadas de touchevents en Javascript en dispositivos Android
Lo he probado en mi teléfono con Cyanogen 7.1 en Opera Mobile y el navegador Dolphin, y también en un Galaxy Tab 10.1 (Android 3.1) que ejecuta el navegador estándar.
He modificado el código para mostrar una alerta en un evento touchstart que muestra las coordenadas event.pageX, event.layerX y event.clientX (soy consciente de que clientX solo debería funcionar en 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);
}
});
Tengo el dibujo completo funcionando en iOS pero ni siquiera puedo conseguir que Android registre las coordenadas, ¿alguna idea?
EDICIÓN FINAL: He resuelto el problema, ver la respuesta aceptada.
Ver [esto] (http://stackoverflow.com/questions/6099268/does-html5-support-touch-on-mobile-phones). Si todavía no puede hacer que funcione, creo que phoneGap funcionaría. – toto2
¡Gracias, esto me ayudó mucho! –
@Stu Nice está funcionando. ¿Podría hacer una respuesta de su edición por lo que esta pregunta sale de la pestaña de "preguntas sin respuesta". :) ¡Gracias! –