4 Stimmen

Erkennen von Randwischgesten in jQuery Mobile

Ich möchte feststellen, ob Benutzer von der Kante wischen oder nicht, bevor ich das Panel mit $("#panel").panel("open"); öffne. Hier ist der Code

$("#main").on("swiperight",function(event){
var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event,
    coords = [data.pageX, data.pageY];

console.log(coords);
});

Aber die coords haben nichts zurückgegeben, weil ich folgenden Fehler erhalten habe:

Uncaught TypeError: Cannot read property 'touches' of undefined

  1. Gibt es also eine Möglichkeit, die Koordinaten beim Wischen zu erhalten?

  2. Oder gibt es einen einfachen Weg, um festzustellen, ob die Startposition von der linken Kante stammt?

Danke.

4voto

Deepu Punkte 1201

Versuchen Sie unten in jqm 1.4+, hat bei mir funktioniert, passen Sie den Randbeschnittwert entsprechend an, 50 war gut für mich

$( "div.ui-page" ).on( "swiperight", function( e ) {
    if ( e.swipestart.coords[0] <50) {
    // Ihre Logik 
    }
});

Dies ist für die x-Koordinate, ebenso können Sie y aus coords[1] erhalten

3voto

Danny Michaeli Punkte 142

Dies funktioniert für jede Bildschirmgröße:

$("#main").on("swiperight",function( event ){
   // nimm 15% der Bildschirmgröße, gut für verschiedene Bildschirmgrößen
   var window_width_15p = $( window ).width() * 0.15;
   // überprüfe, ob der swipe nach rechts von 15% des Bildschirms kommt (coords[0] bedeutet X)
   if ( event.swipestart.coords[0] < window_width_15p) {
      // öffne dein Panel
      $("#panel").panel("open");
   }
});

0voto

Rayf Punkte 451

Sie können so etwas machen.

$('#main').on('touchstart', function(e) {
   var xPos = e.originalEvent.touches[0].pageX;
   if(xPos == 0) { //Denken Sie an den Fehlerraum von 0, wenn der Benutzer berührt.
      //Behandeln von Kantenabwischen
   }
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X