Как отключить прокрутку в браузерах смартфонов и планшетов?

Я использую следующий код для отключения прокрутки в настольных браузерах, но он не работает для разрешения экрана iPhone.

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

что еще мне нужно добавить?

2 ответов


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

Если заблокированное событие touch не работает для вас, вы всегда можете пойти следующим образом:

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

Я собираюсь предоставить кусок, который не использует jQuery, поэтому следующий "Javascripter" может просто скопировать ' n'paste:

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);