I\'m having a very similar problem to iPad/iPhone hover problem causes the user to double click a link where a user tapping a link has to tap twice to actually go to it.
<
Here's what I ended up doing:
The problem is that touchstart and touchend only know about touch events, not scroll events, so they only react to starting the touch and ending the touch. What we have to do is distinguish between scrolling and not scrolling. Here's what I did:
$('a')
.live('touchstart', function(){
isScrolling = false;
})
.live('touchmove', function(e){
isScrolling = true;
})
.live('touchend', function(e){
if( !isScrolling )
{
window.location = $(this).attr('href');
}
});
This does these things in order:
Edit: A while after this, I discovered the problem was being caused by SuperFish. Disabling superfish when the page was under a certain width solved the problem.