2010-11-24 27 views
1

J'ai une application web mobile fonctionnant sur Safari sur un iPad.Problème avec la capture d'événements tactiles Mobile Safari

Il semble que même si la page Web est la bonne taille pour l'écran, le fait de faire glisser la page la fait toujours défiler partiellement de l'écran.

Mon plan était d'empêcher tout événement toucher autrement unhandled de faire quoi que ce soit:

document.addEventHandler('touchstart', do_nothing, false); 

function do_nothing(event) { 
    event.preventDefault(); 
} 

Notez le paramètre false final - ce qui est censé dire au gestionnaire de ne travailler en mode bouillonnant événement, pas en mode capture . Un événement tactile sur un élément spécifique doit toujours se déclencher comme prévu.

Ce empêche d'empêcher le défilement. Cependant, il empêche également tous les événementsclick d'atteindre la page. Quelqu'un peut-il proposer une solution qui bloque l'action de défilement de la page par défaut sans bloquer les clics?

Répondre

1

La solution semble être d'enregistrer le gestionnaire null sur le touchmove au lieu de l'événement touchstart.