2011-06-03 6 views

Répondre

6

Je crois que cela devrait faire l'affaire:

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


Mise à jour:
Voici un exemple:

<!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

Nous obtenons une valeur non définie pour event.targetTouches. D'autres suggestions? – Mason

+0

Ajout d'un exemple. Essayez-le – simshaun

+0

Essayé le code dans son propre fichier, fonctionne bien, mais lorsqu'il est utilisé en conjonction avec notre code existant, la ligne de script destiné à générer une alerte avec les coordonnées du toucher (utilisé comme un test avant de l'implémenter réellement) ne marche pas. Voici ce que nous avons: 'alert (event.changedTouches [0] .pageX);' – Mason

3

Essayez d'utiliser:

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

Essayez ce js Fiddle..Properly travailler dans tous les principaux navigateurs et tous les appareils tactiles. Dans ce code, je fournis comment trouver les coordonnées touchstart.

http://jsfiddle.net/vecny/

0

Ceci est une vieille question, mais il n'y a pas de réponse acceptée et la solution dans mon cas avec l'iPad était inférieur:

var x = event.originalEvent.touches[0].clientX; 
var y = event.originalEvent.touches[0].clientY; 
Questions connexes