Про пассивные тач-события
Как-то мимо меня прошла небольшая революция в мире тач-событий. Оказывается, теперь в Хроме и подобных, они по умолчанию (при определённых условиях) задаются как пассивные, т. е., их нельзя отменить. Говорят, что помогает оптимизировать работу скролла.
То есть, такой код не сработает:
window.addEventListener('touchstart', e => e.preventDefault());
И выдаст предупреждение:
Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080
Надо так:
window.addEventListener('touchstart', e => e.preventDefault(), { passive: false });
А в большинстве случаев вообще лучше использовать touch-action: none.