2016-08-30 2 views
0

Я использую jquery mobile для обнаружения его на сенсорных экранах. Я хочу прослушать событие swipe, но делать что-то только, если несколько пальцев касаются экрана. Я знаю, что с обычными событиями касания это можно обнаружить с помощью массива touches внутри события, но, похоже, это не существует, когда я проверяю внутри события после того, как swipe уволен. Может ли кто-нибудь указать мне в правильном направлении относительно того, как я мог получить доступ к массиву touches после того, как было запущено событие swipe?jquery mobile - обнаружение массива касаний на событии swipe

+0

Что вы попробовали? – Mansuro

ответ

0

Я обнаружил, что это не jquery mobile, я должен быть переопределяющим, но плагин слайд-шоу, который я использовал (jquery cycle2). Вот мой код, который я придумал:

window.global_touches = null; 

$('.page').on({ 
    touchstart: function(e) { 
     e.preventDefault(); 
     window.global_touches = e.originalEvent.touches; 
    }, 
    touchmove: function(e) { 
     window.global_touches = e.originalEvent.touches; 
    }, 
    touchend: function(e) { 
     window.global_touches = e.originalEvent.touches; 
    }, 
    touchcancel: function(e) { 
     window.global_touches = e.originalEvent.touches; 
     clearHighlight(); 
    } 
}); 

$('.inner-slideshow').on('cycle-bootstrap', function(e, optionHash, API) { 
    API.origAdvanceSlide = API.advanceSlide; 
    API.advanceSlide = function(numberOfPositions) { 
     if (window.global_touches && window.global_touches.length >= 2) { 
      API.origAdvanceSlide.call(API, numberOfPositions); 
     } 
    }; 
});