1. 利用移动端的 touchmove 阻止默认行为
_preventEvent(e){
e.preventDefault();
}
// 禁用
document.documentElement.addEventListener('touchmove', this._preventEvent, {passive: false})
// 解除禁用
document.documentElement.removeEventListener('touchmove', this._preventEvent)
2. 通过 fixed 将窗口固定,当浮层取消,释放滚动
在获取和设置窗体滚动条时需要兼容处理: document.documentElement
和document.body
同时获取(设置)
// 禁用
document.body.style.top = -(document.documentElement.scrollTop || document.body.scrollTop) + 'px'
document.body.style.position = 'fixed'
document.body.style.width = '100%'
// 解除禁用
document.body.style.position = ''
document.documentElement.scrollTop = Math.abs(parseInt(document.body.style.top))
document.body.scrollTop = Math.abs(parseInt(document.body.style.top))
document.body.style.top = ""