2

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 でスクロールされなくなります。

4

0 に答える 0