6

Web ページをスクロールさせたくありません。<body>幅 100% があり、 に設定するとoverflowhidden通常は機能します。スクロール バーも、マウスホイールやタッチパッド ジェスチャのスクロールもありません。ただし、どこでもクリックしてドラッグすると、スクロールできます。

臭いは、div が絶対に配置されているため、親の外側に突き出て、部分的に (場合によっては完全に) 画面から外れていることです。いくつかの理由により、今はそれを回避できません。

このフィドルは私の問題を示しています (私は webkit で見ています)、http://jsfiddle.net/ax5x7/2/

HTML のどこか右側にドラッグすると、ページがスライドします。スクロールバーがないので戻りにくいので、間違えると見栄えが悪いです。

jQuery の deprecateddisableSelection()に関連する提案が 1 つ見つかりましたが、間違っていない限り (body とすべての子に適用しました)、動作を妨げることはないようです。また、満足のいく解決策がないように思われる数年前の質問も見つけました。絆創膏は少しぎこちなく、インターバルで (0,0) までスクロールしたくありません。

4

5 に答える 5

9

これは機能し、テキストの選択を無効にしません:

$(document).on('scroll', function() {
  $(document).scrollLeft(0);
});

$(document).scrollTop(0);スクロールダウンを無効にする場合は追加できます。

ここにあるjsFiddle

于 2013-05-28T04:00:31.697 に答える
1

少なくともChromeで身震いしない純粋なJS実装の場合:

function preventScroll(){
    var element = document.getElementById('my-element-id');
    element.onscroll = function(){
      element.scrollLeft = 0;
    };
}
于 2015-10-13T16:15:04.943 に答える
0

あなたの質問を正しく理解していれば、これでうまくいくはずです。

http://jsfiddle.net/ax5x7/3/

問題について詳しく教えてください。それに応じて更新します。

bodyタグのパディング/マージンを削除しました。

を更新しましたbiggestThing

次のようになります。

#biggestThing {
    box-sizing: border-box;
    border: 1px solid black;
    width: 100%;
    background-color: #eee;
    height: 5em;
}
于 2013-05-28T03:29:11.527 に答える
0

overflow:hidden;page_wrapper の cssに追加してみてください。

于 2014-05-30T10:02:28.753 に答える