私は画面全体を覆い、スクロールする固定要素を持っています。IOS固定要素の背後にある身体によってキャッチされるtouchmoveイベントを防止します
IOSは、人々は、この動作の例については、「バンディングをこすり」と呼ぶものは、これらのGIFファイルを見てみることができますがあります。
http://blog.christoffer.me/six-things-i-learnt-about-ios-safaris-rubber-band-scrolling/
問題は、rubber banding
が発生し、ダウン私の固定要素を引っ張ると(オーバーレイするコンテンツを明らかにする)、オーバーレイされているコンテンツにユーザの指が入る可能性があります。
この場合、すべてのtouchmove
イベントは、画面をカバーする固定要素ではなく、固定要素がオーバーレイしている本文上で発生します。
私はあなたがこのようなmanerにスクロールから身体を防ぐことができます知っている:
body.noscroll{
position:fixed;
overflow:hidden;
}
しかし、これはスクロールを防止するためのソリューションです。
touchmove
イベントがオーバーレイされたコンテンツで一度トリガーされると、ユーザーが画面から指を離した場合にのみ停止します。これは解決策ではありません。
短くても、固定要素をスクロールすることがあります。ゴムバンドが本体を露呈させるため、固定要素の代わりにゴム製のバンディングをキックしてスワイプします。
ラバーバンディングが発生した後に要素がポップしても、ユーザーが画面から指を離さない限り、touchmove
イベントはボディエレメントにまだ貼り付けられています。
私はここで何をすべきか分かりません。どういうわけか身体のtouchmove
イベントを無効にすることはいい考えのようですが、私の固定要素はそこにあり、それでもスクロール能力が必要です。
これを処理する方法に関するヒントやヒントはありますか?
編集:
A単にjsfiddle:
https://jsfiddle.net/pq88zLLx/1/
IOSでのみ動作かかわらず、あなたはラバーバンディングが明らかにされているコンテンツにスワイプする場合にのみ。