Вот простой обходной путь: сбросьте обработчик touchstart
. Вы можете реконструировать большую часть того, что происходит, с помощью обработчиков touchmove
, touchend
и touchleaving
.
В браузере, который я тестировал с (Chrome), прокрутка происходит, пока у вас нет обработчика touchstart
; это не заботится о других. Пока вы активно не вызываете ev.preventDefault
в обработчиках touchmove
, прокрутка работает.
Предполагается, что то, что вы хотите сделать, будет работать нормально, несмотря на то, что вы узнаете только о касании, когда палец начинает двигаться, вместо того, когда палец изначально приземляется, этот обходной путь должен работать приемлемо.
... А также я предполагаю, что другие браузеры используют ту же логику, что и Chrome.