Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Touch events only firing "once" during scroll in Mobile Safari on iPad iOS 11.4

While scrolling in Mobile Safari, the first touchstart, touchmove, and touchend events are fired, however, if you're still scrolling additional touch events are not fired.

For my application this is problematic because a user can stop the scroll with their finger and I can't tell if there is a finger down. When a finger is down you can't set scrollTop of the window or rather you can set it, and it changes, but the window doesn't scroll. When the user moves their finger again it starts scrolling not from where I set the scrollTop but to whether their finger was put down.

Please no comments on why I want to change the scrollTop of the window; let's just accept that as an a priority requirement. Any thoughts for how to detect if there is a finger down?

like image 308
overgroove Avatar asked Jun 11 '18 17:06

overgroove


1 Answers

how about using "detect click on mousedown" like technic? something like:

var touchStart = false;

function onTouchStart() {
   touchStart = true;
}
function onTouchEnd() {
   touchStart = false;
}
function someFunction() {
   if (touchStart) ...;
   else ...;
}
like image 102
line88 Avatar answered Nov 14 '22 22:11

line88