X

JavaScript: Отключить реакцию на тач действия

Столкнулся с проблемой, когда при свайпе в виде буквы "Г" и отлавливании свайпа в стороны для последующей анимации, браузер делал вертикальный сдвиг, чем мешал анимации. Соответственно в момент свайпа в стороны, мне надо было отключить родную прокрутку. Тут я просто оставлю заметку с кодом, к которому пришел в итоге..

document.addEventListener('touchmove', handleTouchMove, { passive: false });
// очень важно указать опцию passive = false

function handleTouchMove(evt) {
    let swipeLeft = false;
    let swipeRight = false;
    let rewindTo = 0;
    ...
   if (swipeLeft || swipeRight) {
      $('html, body').animate({scrollTop: rewindTo});
      ...
      evt.preventDefault();
      evt.stopPropagation();
      return false;
   }
   ...
}

Категории: JavaScript
Тэги: javascriptjquerytouch