Я спрашиваю, может ли приложение Phonegap распознавать события, связанные с swipeLeft и SwipeRight, в Javascript.
Phonegap: можно ли обнаружить swipeLeft и SwipeRight touch от 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
});
Ответ 4
У Zepto есть события касания для swipeLeft и swipeRight и многие другие: http://zeptojs.com/#Touch%20events
Ответ 5
Отличный плагин jquery TouchSwipe-Jquery-Plugin для функций прокрутки