2012-07-02 10 views
8

Problem polega na tym, że zdarzenie swipeleft/swiperight jest wyzwalane, gdy chcę przewijać w pionie.swipeleft/swiperight wyzwalane podczas przewijania w pionie w jquery mobile

używamy jquery mobile 1.1.0 i jquery 1.7.1.

i kod jest:

$(document).delegate('#quizResumePage', 'swipeleft swiperight', function (event) { 
    event.stopImmediatePropagation(); 
    if (event.type == 'swipeleft') { 
     $('#btnnext').trigger('click'); 
    } else if (event.type == 'swiperight') { 
     $('#btnprevious').trigger('click'); 
    } 
    event.preventDefault(); 
}); 

Więc dlaczego machnięcia wyzwalania zdarzenie gdy chcę scorll stronę ??

Problem ten występuje w Samsung Galaxy Android 2.3.5 ...

Może ktoś mi pomóc w tej kwestii?

góry dzięki ...

Odpowiedz

12

Można kontrolować, w jaki sposób wydarzenie machnięcia działa zmianę wartości następującego obiektu

$.extend($.event.special.swipe,{ 
    scrollSupressionThreshold: 10, // More than this horizontal displacement, and we will suppress scrolling. 
    durationThreshold: 1000, // More time than this, and it isn't a swipe. 
    horizontalDistanceThreshold: 30, // Swipe horizontal displacement must be more than this. 
    verticalDistanceThreshold: 75, // Swipe vertical displacement must be less than this. 
}); 

umieścić go na kodzie przed słuchając kiepskie piwo. Zmień na przykład wartość pionowego progu dystansu na 15, a wartość czasu trwania progu na 500, który pomoże zredukować fałszywy alarm.

Z drugiej strony, w kodzie uruchamiasz zdarzenie click na twoich przyciskach, podczas gdy to działa, lepszym podejściem byłoby bezpośrednie wywołanie metody, która wykonuje następne/poprzednie akcje.

Powodzenia!

+3

Ustawienie 'horizontalDistanceThreshold' na' Math.min ($ (document) .width()/2, 160) 'działało dla mnie. Od [tutaj] (http://c-sharp-snippets.blogspot.com.ar/2011/12/jquery-mobile-swiperight-too-sensitive.html) –

+0

Przesuwanie jest trochę trudne, ponieważ odkryłem, że sortuję poruszać się po przekątnej podczas przewijania w górę lub w dół, więc chcę tylko, aby przewijał - nie przesuwaj palcem. Przypuszczam, że potrafiłbym zmierzyć dotykowy i dotykowy. –

Powiązane problemy