2012-12-04 8 views
8

Pytam, czy aplikacja Phonegap jest w stanie rozpoznać zdarzenia związane z przewijaniem i SwipeLight w JavaScript.phonegap: czy możliwe jest wykrycie SwipeLeft i SwipeRight touch z JavaScript?

+0

Używasz jakichkolwiek ram lub wtyczki dla zachowania machnięcia? – zvona

+0

Używam HTML5, JavaScript i css3 do tworzenia aplikacji phonegap w Androidzie – Gaurav

+0

możliwy duplikat [Wykryj przesunięcie palcem przez JavaScript na iPhonie i Androidzie] (http://stackoverflow.com/questions/2264072/detecta-a- finger-through-javascript-on-the-iphone-and-android) – givanse

Odpowiedz

4

Używamy quo.js. Jest to lekka platforma do obsługi zdarzeń multi-touch i nie tylko.

+0

Witaj Dan, dziękuję za pomoc, że będzie działał dobrze przy pomocy quo.js – Gaurav

+0

nie używaj quo, jest błędny w wersji 4 nad –

5

PhoneGap nie daje już dotknąć wydarzenia inaczej niż ty dostać z normalnym stronie telefonu. To znaczy. chodzi tylko o zawijanie UIWebView (na iOS) lub cokolwiek innego na innych platformach.

zdarzenia dotykowe w przeglądarkach mobilnych to touchstart, touchend, touchmove itp

Nie ma jeszcze żadnych fantazyjne zdarzenia przesunąć, lub zdarzenia, dwukrotnie dotknij, lub coś podobnego, że natywnie zaimplementowane w przeglądarkach mobilnych.

Ale można symulować te bardziej skomplikowane wydarzenia za pomocą JavaScript w połączeniu z zasobów touchstart, touchend imprez itp

Na szczęście nie trzeba się przejmować pisząc te wydarzenia samemu ponieważ prawie każdy framework mobile uczynił to dla Ciebie. Inni ludzie wspomnieli o niektórych bibliotekach, które obsługują zdarzenia dotykowe.

Ja sam używam jQuery Mobile, która ma zdarzenia swipeleft i swiperight, a także inne.

http://jquerymobile.com/demos/1.2.0/docs/api/events.html

Nawet nie trzeba korzystać z pełnej ramy jQuery przenośnego, jeśli nie chcesz. Jeśli chcesz, możesz po prostu dołączyć ich obsługę zdarzeń dotykowych.

2

Użyj this jeden działa w iOS i Android z phonegap.

$("#test").swipe({ 
    click:function(event, target) { 
     log("click from callback"); 
    }, 
    swipe:function(event, direction, distance, duration, fingerCount) { 
     log("swipe from callback"); 
    }, 
    swipeLeft:function(event, distance, duration, fingerCount) { 
     log("swipeLeft from callback"); 
    }, 
    swipeRight:function(event, distance, duration, fingerCount) { 
     log("swipeRight from callback"); 
    }, 
    swipeUp:function(event, distance, duration, fingerCount) { 
     log("swipeUp from callback"); 
    }, 
    swipeDown:function(event, distance, duration, fingerCount) { 
     log("swipeDown from callback"); 
    }, 
    swipeStatus:function(event, phase, direction, distance, duration, fingers) { 
     log("swipeStatus from callback"); 
    }, 
    pinchIn:function(event, direction, distance, duration, fingerCount, pinchZoom) { 
     log("pinchIn from callback"); 
    }, 
    pinchOut:function(event, direction, distance, duration, fingerCount, pinchZoom) { 
        log("pinchOut from callback"); 
    }, 
    pinchStatus:function(event, phase, direction, distance , duration , fingerCount, pinchZoom) { 
        log("pinchStatus from callback"); 
    }, 
       fingers:$.fn.swipe.fingers.ALL 
    }); 
+0

Co czy to jest za pomocą, zakładam, że to jest poprawne korzystanie z JQuery mobile? A może używa Zepto lub? – Gurnard

+0

to są wszystkie zdarzenia i wywołania zwrotne TouchSwipe api 1) http://labs.rampinteractive.co.uk/touchSwipe/demos/Handlers_and_events.html – Ved

+0

działa lepiej niż jquery ruchome zdarzenia machnięcia – Patel

Powiązane problemy