web-dev-qa-db-ja.com

スマートフォンやタブレットのブラウザでスクロールを無効にする方法は?

次のコードを使用してデスクトップブラウザのスクロールを無効にしますが、iPhoneの画面解像度では機能しません。

$("html").css("overflow", "hidden");

他に何を追加する必要がありますか?

13
Orb Hitter
//target the entire page, and listen for touch events
$('html, body').on('touchstart touchmove', function(e){ 
     //prevent native touch activity like scrolling
     e.preventDefault(); 
});

タッチイベントをブロックしてもうまくいかない場合は、いつでも次のようにできます。

html, body{
     max-width:100%;
     max-height:100%;
     overflow:hidden;
}
28
Fresheyeball

次の「Javascripter」が「n」をコピーして貼り付けることができるように、jQueryを利用しない部分を提供します。

var defaultPrevent=function(e){e.preventDefault();}
document.body.parentElement.addEventListener("touchstart", defaultPrevent);
document.body.parentElement.addEventListener("touchmove" , defaultPrevent);
document.body.addEventListener("touchstart", defaultPrevent);
document.body.addEventListener("touchmove" , defaultPrevent);
5
CyberFox