Kürzlich habe ich auf der H5-Seite eine ähnliche Funktion wie AssistiveTouch auf iOS erstellt: ein kleines schwebendes Widget, das auf der Seite verschoben werden kann und automatisch an der Seite verschwindet, wenn es nicht verwendet wird.
Probleme, die auftreten:
Wenn Sie auf Android-Telefonen das Widget verschieben, wird die Seite entsprechend gescrollt.
Denn um das reibungslose Scrollen von Seiten zu verbessern, verhindert der Chrome-Browser touchmove
事件里不能用 event.preventDefault()
das Scrollen von Seiten im neuen Chrome-Browser.
Neue Bindungsereignisse müssen so behandelt werden (ein passive: false
-Attribut hinzugefügt)
document.addEventListener('click', onClick, {passive: false, capture: false});
Aber ich verwende React und binde den Monitor direkt
<p onTouchmove={::this.touchmove} >
</p>
Wie kann verhindert werden, dass die Seite scrollt, wenn das Widget mit touchmove verschoben wird?
直接来。 资料在这里