touchmove for iphone のスクロールを無効にしたいです。私が思いつくことができるすべてを試しました。本当にイライラします。
$(document).bind('touchmove', function (e) {
e.preventDefault();
});
$('.info-wrapper > *').bind('touchmove', function (e) {
e.stopPropagation()
});
スクロールは通常どおりに機能するはずですが、ボタンをクリックすると、画面全体を透明に覆う div が表示されます。この div には class info-wrapper があります。そのため、影響を受けるには、すべての子がドキュメントのイベントを停止する必要があります。しかし、そうではありません。info-wrapper が停止しているようですが、info-wrapper 内にスクロールを無効にしない子がいます。これらは、多くのタイプの要素、h2、span などです。
また、情報ラッパーにはoverflow:auto;があります。適用されているので、これは通常どおりスクロールできるはずです。
編集:
まあ、これはほとんどうまくいくようです。
$(document).on('touchmove', function (ev) {
if (!$(ev.target).parents().hasClass('info-wrapper')) {
ev.preventDefault();
}
});
本文 css -webkit-overflow-scrolling: touch; にも追加されました。
これにより、基礎となる本文が info-wrapper でスクロールされなくなります。