2011-06-03 18 views

Respuesta

6

Creo que esto debería hacer el truco:

var x = event.targetTouches[0].pageX, 
    y = event.targetTouches[0].pageY; 


Actualización:
Aquí se muestra un ejemplo:

<!doctype html> 
<html lang="en" class="no-js"> 
<head> 
    <meta charset="utf-8"> 

    <title>Touch event test</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
</head> 

<body> 

<script> 
    $(function() { 
     var $log = $("#log"); 

     function updateLog(x, y) { 
      $log.html('X: '+x+'; Y: '+y); 
     } 

     document.addEventListener('touchstart', function(e) { 
      updateLog(e.changedTouches[0].pageX, e.changedTouches[0].pageY); 
     }, false); 

     document.addEventListener('touchmove', function(e) { 
      e.preventDefault(); 
      updateLog(e.targetTouches[0].pageX, e.targetTouches[0].pageY); 
     }, false); 
    }); 
</script> 

<div id="log"></div> 

</body> 
</html> 
+1

obtenemos un valor indefinido para event.targetTouches. ¿Cualquier otra sugerencia? – Mason

+0

Agregó un ejemplo. Pruébelo – simshaun

+0

Probé el código en su propio archivo, funciona bien, pero cuando se usa junto con nuestro código existente, la línea de escritura significa generar una alerta con las coordenadas del tacto (se usa como prueba antes de que realmente lo implementemos) No funciona. Esto es lo que tenemos: 'alert (event.changedTouches [0] .pageX);' – Mason

3

Trate de usar:

x = event.originalEvent.pageX; 
y = event.originalEvent.pageY; 
-1

Prueba este js fiddle ... Trabaja adecuadamente en todos los principales navegadores y en todos los dispositivos táctiles. En este código, proporciono cómo encontrar las coordenadas de inicio de sesión.

http://jsfiddle.net/vecny/

0

Ésta es una vieja pregunta, pero no hay respuesta aceptada y la solución en mi caso con el iPad fue a continuación:

var x = event.originalEvent.touches[0].clientX; 
var y = event.originalEvent.touches[0].clientY; 
Cuestiones relacionadas