it-swarm.com.de

Deaktivieren Sie die Webseitennavigation beim Wischen (vorwärts und rückwärts).

Auf einem Windows-Telefon können Benutzer in IE durch Wischen auf dem Bildschirm vor- und zurückblättern, wenn das Wischen vom Edge kommt. Diese Funktion auf Betriebssystemebene behindert die UX meiner Website.

Gibt es irgendwelche js oder css, die das deaktivieren können? Ein Hack würde es auch tun.

Ein Schnappschuss von der windowsphone-Website: enter image description here

Hier ist der Link zur Referenzseite: http://www.windowsphone.com/de-in/how-to/wp8/basics/gestures-swipe-pan-and-stretch

Bitte beachten Sie, dass ich für horizontales Scrollen immer noch die berührungslose Funktion aktivieren muss.

36
Shekhar Joshi

Kopieren Sie dieses JavaScript und fügen Sie es ein:

var xPos = null;
var yPos = null;
window.addEventListener( "touchmove", function ( event ) {
    var touch = event.originalEvent.touches[ 0 ];
    oldX = xPos;
    oldY = yPos;
    xPos = touch.pageX;
    yPos = touch.pageY;
    if ( oldX == null && oldY == null ) {
        return false;
    }
    else {
        if ( Math.abs( oldX-xPos ) > Math.abs( oldY-yPos ) ) {
            event.preventDefault();
            return false;
        }
    }
} );

Wenn Sie es verkleinern möchten, kopieren Sie es und fügen Sie es ein:

var xPos=null;var yPos=null;window.addEventListener("touchmove",function(event){var touch=event.originalEvent.touches[0];oldX=xPos;oldY=yPos;xPos=touch.pageX;yPos=touch.pageY;if(oldX==null && oldY==null){return false;}else{if(Math.abs(oldX-xPos)>Math.abs(oldY-yPos)){event.preventDefault();return false;}}});

6
clickbait

Wie kann man die Standardaktion des Swipe-Ereignisses verhindern? Irgendwo in Ihrem document.ready hinzufügen (Hinweis: Ich habe das document.ready eingefügt. In diesem Beispiel muss nur die Funktion hinzugefügt werden):

$(document).ready(function(){ $(window).on('touchmove',function(e){e.preventDefault();}); });

In diesem Fall glaube ich, dass das Ereignis als "touchmove" bezeichnet wird. Möglicherweise müssen Sie das erweitern, um auch das Standardverhalten von touchstart/touchend zu ignorieren.

0
clovola

Check out this Codepen von David Hill.

var elem = document.getElementById("container"); //area we don't want touch drag

var defaultPrevent=function(e){e.preventDefault();}
elem.addEventListener("touchstart", defaultPrevent);
elem.addEventListener("touchmove" , defaultPrevent);

Ich denke eigentlich, dass dies eine coole Art ist, Objekte zu bauen.

0
Jordan Nakamoto

Dies ist auch ein Problem für Mac-Benutzer, die das Durchblättern links konfiguriert haben, um rückwärts zu navigieren. Sie können diese Einstellung nicht deaktivieren. Sie können den Benutzer jedoch dazu auffordern, zu bestätigen, dass er fortfahren möchte https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload .

0
tommyTheHitMan