2013-04-03 10 views
5

Sto creando una semplice applicazione Web che utilizza la nuova versione di hammerJS per lo zoom con pizzico. Sto avendo un problema con il trascinamento della pagina iOS predefinito quando inizia un pizzico. Ciò consente di ignorare l'evento di pizzico che sto tentando di acquisire. Sarebbe molto gradito qualsiasi aiuto durante l'interruzione dell'utilizzo di hammerJS.Prevenire il trascinamento della pagina Web iOS predefinita con javascript e hammerJS

PS: Ho tentato di utilizzare event.preventDefault() senza alcun risultato.

risposta

0

mettere questo nella tua intestazione:

<meta name="viewport" content="width=device-width,user-scalable=no"> 

In pratica i controlli di proprietà dall'utente scalabile se gli utenti sono autorizzati per ingrandire la pagina. Quindi, una volta disattivato, puoi controllare lo zoom con hammerJs.

Maggiori informazioni qui https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag#Viewport_basics

+0

Sembra che la resistenza creata da pizzicare sia ancora catturata da Safari su iOS. Questo fa sì che la pagina nel browser trascini verso il basso (non scorrere). L'app Web non ha barre di scorrimento. –

+0

Strano ... [preventDefault()] (http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511- SW24) dovrebbe disabilitare lo zoom pizzico – Bema

0

cosa stavi chiamando preventDefault su? Io di solito combinare @ risposta di Bertrand con qualcosa di simile

$(body).on('touchmove', function(e){ 
    e.preventDefault(); 
}); 
1

È necessario chiamare preventDefault in modo leggermente diverso a come si può essere abituati. In questo modo:

$('#your_element').on('pinch', function(event) { 
     event.gesture.preventDefault(); 
}); 

Vedi this hammer.js example per un altro esempio.

Problemi correlati