У меня возникают проблемы с объединением ng-swipe
и горизонтальной прокруткой на мобильном телефоне. Вариант использования заключается в том, что у меня есть страница, которая на swiping должна загружаться следующим или предыдущим и внутри есть модули, которые показывают много информации. Некоторые из них прокручиваются.
Итак, как только вы прокрутите салфетки на родителях, и вы получите навигацию. Поэтому я поместил еще пару ng-swipe
в родительский элемент прокручиваемого элемента с таким видом обмана:
self.onInnerSwipe = function($event) {
$event.originalEvent.preventAction = true;
};
И затем на родительском:
var shouldActionProceed = function($event) {
return !$event || !$event.originalEvent || !$event.originalEvent.preventAction;
};
self.goToPrev = function($event) {
if (shouldActionProceed($event)){
// Do Magic
}
}
Это трюк в том, что действие не выполняется, если я прокручиваю этот элемент, но прокрутка действительно не работает. Это похоже, но это не так. Он начинается немного, а затем останавливается.
В Chrome иногда записываются предупреждения.
Игнорированная попытка отменить событие touchmove с cancelable = false, для например, потому что выполняется прокрутка и не может быть прервана.
Я подготовил демо: http://jsbin.com/webologavu/2/, который слишком упрощен, но вы можете воспроизвести проблему.
Любые подсказки?