У меня есть большой JqueryMobile Popup с полупрозрачным цветом. Что-то вроде:
<div data-role="popup" id="popupBasic">
<p>SOMETHING BIG</p>
</div>
#popupBasic{
background-color:rgba(0,0,0,0.5);
}
Прямо сейчас я могу прокручивать всплывающее окно (потому что оно слишком велико, чтобы поместиться на экране), но я не хочу прокручивать оставшуюся часть страницы (что я вижу, потому что фон прозрачен)
Когда вы активируете свое всплывающее окно, установите body { overflow: hidden; }
body { overflow: hidden; }
в вашем CSS. Это приведет к зависанию страницы и не позволит прокручивать ее. Не забудьте повторно активировать его, когда вы закрываете всплывающее окно!
У меня была такая же проблема, как у вас, я полагаю, вы вызываете свое всплывающее окно с помощью ajax, если да, тогда
такой код
function ajaxFunction(gotid){
$('body').css("overflow","hidden"); // <----- like this
$.ajax({
.... the rest of your code
поможет вам и будет в безопасности, вы можете вернуть его, сделав вашу функцию закрытия чем-то вроде этого
function closeme(){
$('body').css("overflow","scroll"); // <----- will set it back to scrollable
body { overflow: hidden; }
влияет только на тело, оно не изменит всплывающее окно. Можете ли вы воспроизвести эту проблему для меня?