1.如果弹窗内容不可滑动,仅展示
方案一:只需要给弹窗蒙层加上 @touchmove.prevent 即可实现,无兼容性问题
方案二:在弹窗蒙层加上touch-action:none;
方案三:打开弹窗时,设置body的overflow属性为hidden并阻止默认事件
document.body.style.overflow = 'hidden';
var fn = function(e){e.preventDefault();};
document.addEventListener("touchmove",fn,false);
关闭弹窗时设置body的overflow属性为""并移除阻止默认事件
document.body.style.overflow ='';
var fn = function(e){e.preventDefault();};
document.removeEventListener("touchmove",fn,false);
2.如果弹窗内容也可以滑动
方案:设置一个top为0
打开弹窗时,记录top等于当时scrollY的高度,并设置body定位为fixed文章来源:https://www.toymoban.com/news/detail-730365.html
document.body.style.overflow = 'hidden';
top = window.scrollY;
document.body.style.position = 'fixed';
document.body.style.top = -top + 'px';
关闭弹窗时文章来源地址https://www.toymoban.com/news/detail-730365.html
document.body.style.overflow ='';
document.body.style.position = '';
document.body.style.top = '';
window.scrollTo(0,top);
到了这里,关于h5,微信小程序弹出层底部禁止滑动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!