Предотвращение прокрутки страницы в iOS-сафари при перелистывании карусели - PullRequest
0 голосов
/ 29 мая 2019

У меня есть карусель, и я хотел бы предотвратить прокрутку страницы, когда на карусели вызывается событие ontouchmove, чтобы провести пальцем влево - вправо. Ниже приведен код, который обрабатывает считывание карусели.

 move: function(event) {
    var self = this;
    self.pageX = event.targetTouches[0].pageX;
    self.pageY = event.targetTouches[0].pageY;
    self.swipeLengthX = self.touchstartx - self.pageX;
    self.swipeLengthY = self.pageY - self.touchstarty;
    self.movex = self.index * slideWidth + (self.swipeLengthX);
    if (Math.abs(self.swipeLengthX) > Math.abs(self.swipeLengthY) && Math.abs(self.swipeLengthX) > 50) {
        document.addEventListener('touchmove', function(event) {
            elem.addClass('carousel-animate')
            .css('transform','translate3d(-' + self.movex + 'px, 0px, 0px');

            $('body').addClass('no-scroll');
            $('.no-scroll').on('touchmove', function (event) {
                event.preventDefault();
               }, false);
            });

        }
    },
  ...

Как видите, я добавляю класс no-scroll к элементу body, а затем пытаюсь предотвратить дефолт, если карусель проведена.Но это не работает в iOS.Кроме того, я хотел бы, чтобы прокрутка страницы продолжалась, когда она больше не выполняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...