2013-04-03 10 views
5

Tworzę prostą aplikację internetową, która korzysta z nowej wersji narzędzia hammerJS do przybliżania przybliżenia. Występuje problem z przeciąganiem domyślnej strony iOS po rozpoczęciu szczypania. To szwy, aby zastąpić zdarzenie uszczypnięcia, które próbuję przechwycić. Jakakolwiek pomoc powstrzymująca to przy użyciu HammerJS byłaby bardzo doceniana.Zapobieganie przeciągnięciu domyślnej strony iOS przy użyciu javascript i młota JS

PS: Podjęto próbę użycia event.preventDefault() bez skutku.

Odpowiedz

0

umieścić to w nagłówku:

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

Zasadniczo użytkownika skalowalne Kontrola własności, jeśli użytkownicy mogą powiększać stronę. Więc gdy ją wyłączysz, możesz kontrolować powiększenie za pomocą narzędzia hammerJs.

Więcej informacji tutaj https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag#Viewport_basics

+0

Wygląda na to, że opór utworzony przez szczypanie jest nadal przechwytywany przez safari na iOS. Powoduje to, że strona w przeglądarce przeciąga (nie przewija). Aplikacja internetowa nie ma pasków przewijania. –

+0

Weird ... [preventDefault()] (http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511- SW24) powinien wyłączyć zoom przybliżenia – Bema

0

Co ty na wywołanie preventDefault? I zazwyczaj łączą @ odpowiedź Bertrand ze coś takiego

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

trzeba zadzwonić preventDefault nieco inaczej, w jaki sposób można się przyzwyczaić. Tak jak poniżej:

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

Zobacz kolejny przykład: this hammer.js example.

Powiązane problemy