web-dev-qa-db-de.com

Verhindern Sie, dass die iOS-Safari das Webseitenfenster verschiebt, damit ein Ereignis ziehen kann

Ich verwende Pep.js für kinetisches Ziehen bei Multitouch, aber meine Ziehereignisse werden nicht registriert, da ich bei einem Versuch, ein Objekt in die Safari zu ziehen, bei iOS das Fenster selbst bewegt und meinem Ziehen folgt.

Wie kann ich verhindern, dass das Browserfenster meinem Ziehen folgt, sodass der <div> auf meiner Webseite gezogen werden kann?

Hier ist die betreffende Webseite: http://goo.gl/TsHgh . Klicken Sie auf den Link, und ein <div> wird eingefügt. Das div kann verschoben werden. Es funktioniert auf Desktop-Browsern, kann jedoch nicht bei Multi-Touch gezogen werden, da Safari das Fenster zusammen mit meinem Ziehen verschiebt.

13
Django Johnson

Ich habe diese Lösung gefunden, während ich mit dem #ionicframework arbeite.

CSS:

html, body {
  overflow:hidden;
}

JS:

$(window).bind(
  'touchmove',
   function(e) {
    e.preventDefault();
  }
);
30
Nick Treadway

Ihre Animation verursacht das Problem.

Nun, auf die Klasse, auf die Ihre Animation angewendet wird.

Entfernen Sie die Klasse, nachdem die Animation abgeschlossen ist.

setTimeout(function(){
    $('#tabViewWindow').removeClass('animated').removeClass('bounceInRight');
}, 1200);

So deaktivieren Sie das Scrollen im Fenster:

html, body{
    overflow:hidden;
}
0
Django Johnson