Phonegap: можно ли обнаружить swipeLeft и SwipeRight touch от Javascript?

Я спрашиваю, может ли приложение Phonegap распознавать события, связанные с swipeLeft и SwipeRight, в Javascript.

Ответ 1

Телефонная связь не дает вам больше сенсорных событий, чем в противном случае с обычным мобильным сайтом. То есть он просто обертывает UIWebView (на iOS) или любой другой эквивалент на других платформах.

Сенсорные события в мобильных браузерах включают touchstart, touchend, touchmove и т.д.

В мобильных браузерах отсутствуют какие-либо причудливые события прокрутки или события с двойным касанием или что-то подобное, реализованное в мобильных браузерах.

Но вы можете имитировать эти более сложные события, используя javascript в сочетании с событиями запаса touchstart, touchend и т.д.

К счастью, вам не нужно беспокоиться о том, чтобы писать эти события самостоятельно, потому что почти все мобильные рамки сделали это для вас. Другие люди упомянули некоторые библиотеки, которые обрабатывают события касания.

Я сам использую jQuery Mobile, у которого есть события swipeleft и swiperight, а также другие.

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

Вам даже не нужно использовать полную инфраструктуру jQuery Mobile, если вы этого не хотите. Вы можете просто включить их обработчики событий касания, если хотите.

Ответ 2

Мы используем quo.js. Это легкая структура для обработки событий с несколькими касаниями и многого другого.

Ответ 3

Используйте этот, один из которых работает в ios и Android с телефонной связью.

 $("#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 
  });