Ne peut pas éviter le " touchmove` partir de la fenêtre de défilement sur iOS

Nous essayons de faire défiler un élément sur notre web app iOS tout en empêchant la fenêtre de défilement. Nous sommes à la capture de la touchmove de l'événement sur la fenêtre, le défilement de l'élément par programme et (essayer de) prévenir la fenêtre elle-même à partir de défilement en appelant preventDefault sur l'événement.

Malheureusement cela ne fonctionne pas dans le navigateur Safari Mobile. La fenêtre continue de défiler en dessous de notre élément. La question sonne exactement comme le Webkit bug décrit dans https://bugs.webkit.org/show_bug.cgi?id=163207, mais que le problème aurait été résolu dans iOS 10.3 alors que je suis en cours d'exécution 11.3.

Attraper touchforcestart et de l'appel de preventDefault ne semblent empêcher le défilement de la fenêtre, mais nous l'appelons dans touchstart, ce qui semble être "trop tard" depuis la fenêtre défile toujours. Le défilement est seulement empêché la prochaine fois touchstart est appelé.

Des idées sur ce qui se passe? Nous sommes perplexes car c'est clairement un bug, mais il semble avoir été corrigé il y a quelques temps.

OriginalL'auteur Matthew Gertner | 2018-03-26