javascript - 如何禁用移动浏览器的滚动?

标签 javascript jquery html css mobile

我试图在用户打开弹出窗口时禁用网页滚动(但他可以滚动它)。

弹出元素具有以下属性:

#popup {
    display: none;
    width: 100%;
    height: 100%;
    z-index: 10;
    position: fixed;
    background-color: #3F3F3F;
    overflow: auto;
    left: 0;
    top: 0;
}

当用户打开弹出窗口时,将调用以下代码:

$('#popup').show();
$('html').attr('style', 'overflow: hidden;');
$('body').attr('style', 'overflow: hidden; position: relative;');

此解决方案完美适用于桌面浏览器,但不幸的是不适用于移动设备。

在移动设备上,总是可以滚动(但滚动速度很慢)。

如何在移动浏览器上也禁用滚动?

提前致谢。

最佳答案

将正文 position 更改为 fixed。这将禁用滚动。

关于javascript - 如何禁用移动浏览器的滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44331653/

相关文章:

javascript - 使用 jQuery 删除多个文本区域框

jquery - 我可以让 IE7、HTML5 表单验证和 jQuery .submit 事件一起工作吗

html - polymer 2.0如何让一个元素全面屏?

jquery - 从 jQuery 动画 Div 中排除文本

javascript - jquery中 'a'标签的点击事件

javascript - Chrome 中的回调执行时间与预期不符

javascript - 从 JavaScript 设置 jQueryMobile slider 的最大属性

javascript - AngularJS 指令属性 : Replace deprecated - Equivalent?

jQuery.attr() 保证小写?

jquery - 从 jQuery 提交的表单中排除 div?