1

IOS 用の Web アプリを作成しました。ユーザーが Safari 経由でホーム画面に追加すると、スクロールできないアプリの一部を指で上下にスクロールしようとすると、アプリケーション全体が上にスクロールしたり、ダウンしてから元の位置に戻ります (Web ページの一番下までスクロールしてから、スクロールを続けようとしているかのように)。

そのように上下にスクロールしないようにする方法はありますか? オーバーフロー y 属性を本文、ドキュメント、ウィンドウを非表示に設定しても修正されません。

4

1 に答える 1

1

JavaScript を使用して touchmove イベントをリッスンしpreventDefault()、デフォルトの動作をキャンセルします。これにより、それらの要素からページを「ラバーバンド」することができなくなります。ユーザーがドラッグできないようにする要素については、次のようにしてください。

noScroll = document.getElementById("cant-touch-this");
noScroll.addEventListener("touchmove", function(e) {
    e.preventDefault();
});
于 2012-10-03T21:33:02.043 に答える