Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
190
rated 0 times [  192] [ 2]  / answers: 1 / hits: 32095  / 13 Years ago, sat, june 11, 2011, 12:00:00

using this code:



<h2 id=status>
0, 0
</h2>

<script type=text/javascript>
$('html').mousemove(function(e){
$('#status').html(e.pageX +', '+ e.pageY);
});
</script>


In Windows browser like firefox, It's ok to see the mouse postion when I move mouse, but when I run this page in android(2.1) browser, I can not get the continuous event when I touch the screen, It just trigger the event when I tap the screen, why? and how to get the continuous mousemove event when I touch the screen?


More From » jquery

 Answers
12

Use the touchmove event instead (works on my Android browser on Froyo), although there are some problems with it -- the browser only updates the div when the touch has been released, however the event is still fired for every touch movement. This can be demonstrated by changing the code to this:




var x = 0;
$('html').bind('touchmove', function(e) {
$('#status').html(x++); // Only updates on touch release
});



This is due to a bug in the Android browser -- you need to call event.preventDefault() to make this work as expected:




var x = 0;
$('html').bind('touchmove', function(e) {
e.preventDefault();
$('#status').html(x++); // Only updates on touch release
});



Official bug details: available here



To detect the current X and Y position you should use the event.touches object:



$(window).bind('touchmove', function(jQueryEvent) {
jQueryEvent.preventDefault();
var event = window.event;
$('#status').html('x='+event.touches[0].pageX + ' y= ' + event.touches[0].pageY);
});


jQuery creates it's own version of the event object which doesn't have the native browsers properties such as .touches -- so you need use window.event instead


[#91756] Thursday, June 9, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
karleel

Total Points: 309
Total Questions: 79
Total Answers: 86

Location: Monaco
Member since Sun, Jan 16, 2022
2 Years ago
;