微信内打开往下下拉会出现网页由xxx提供,其实很简单可以通过给document绑定禁止滑动事件解决
document.addEventListener('touchmove', function(e) {
e.preventDefault();
},{passive: false});
第三个参数一定要写成对象{passive:false},如果默认写成false默认冒泡阶段可能在手机中没效果
当然上述方法会把全局的滑动效果禁止掉,如果有局部滑动可以参考prevent-overscroll实现原理,如下
var overscroll = function (el) {
el.addEventListener('touchstart', function () {
var top = el.scrollTop
, totalScroll = el.scrollHeight
, currentScroll = top + el.offsetHeight
if (top === 0) {
el.scrollTop = 1
} else if (currentScroll === totalScroll) {
el.scrollTop = top - 1
}
})
el.addEventListener('touchmove', function (evt) {
if (el.offsetHeight < el.scrollHeight)
evt._isScroller = true
})
}
overscroll(document.querySelector('.content')); //页面滑动区域执行方法
document.addEventListener('touchmove', function (evt) {
if (!evt._isScroller) {
evt.preventDefault()
}
},{passive:false})