第一步 在要禁用的元素里增加一个占满页面的div 或者直接 修改这个元素的类名为 end_overflow 例如
<div class="end_overflow" style="
position: absolute;
width: calc(100vw);
top:0;
left: 0;
height: calc(100vh + 1px);
z-index: -1;">
内容呢热闹禸
</div>
第二步 执行JS 即可
//阻止页面滚动条事件 搜索父 class类为end_overflow
document.body.addEventListener("touchmove",function(ev){
var bz=false,ls =ev.target;
if(ls.className.indexOf('end_overflow')>-1){
ev.preventDefault();
return false;
}
ls=ls.parentNode;
while(ls!==document.body){
if(ls.className.indexOf('end_overflow')>-1){
bz = true;
}
ls=ls.parentNode;
}
if(bz){
document.body.parentNode.style.overflowY = "hidden";
setTimeout(function(){
document.body.parentNode.style.overflowY = "auto";
},100)
}else{
document.body.parentNode.style.overflowY = "auto";
}
},{ passive: false });