touchstart event does not trigger when stopping inertial scrolling

I've met this problem when scrolling on my iPhone 6 device (iOS version 11.2.6). I've tested it on Safari and Chrome.


Given a scrollable div, if i touch it when already on momentum scrolling motion, the scrolling stops as expected but the

touchstart
event is not triggered. If i touch (scrolling stops) and slide the finger, touchmove events does not trigger also.

I need to touch (scrolling stops), raise the finger and then touch again to "reactivate" the touchstart/touchmove events.


When tested on Xiaomi Android device (on Chrome), if i touch (scrolling stops) and slide the finger then touchstart/touchmove events are triggered.


Is this issue a standard behaviour on iPhone?.


I have set up a fiddle to test this behaviour:

https://fiddle.jshell.net/galoxia/L63wj9or/


Just flick to "activate" momentum scrolling on the blue box and then touch again to stop it. On Android you will see

touchstart
in the yellow box. On iPhone you will not.
Post not yet marked as solved Up vote post of ozamgal Down vote post of ozamgal
4.3k views
  • I have added a 'click' event in additional to 'touchStart' event. only one of them is captured on every click and that covered the problem in my case.

Add a Comment

Replies

I'm facing this issue as well. Have you submitted a bug about it?

I have also encountered this and it is really annoying. I recall this behaviour being mentioned in the Apple docs somewhere but if it's by design then the design is broken.

I have submitted a feedback request on this but I doubt anything will come of it.

Still an issue, at least passive events should be triggered. Also implementing scrollend event would help in my case.