微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)
此类事件是手机touchmove默认事件行为,可以通过js代码隐藏事件:
$(‘body’).on(‘touchmove’, function (event) {event.preventDefault();}); 
or
 document.addEventListener('touchmove', function(e){e.preventDefault()}, false);
但这样往往会把页面原生的scroll效果也一同去掉了,下面的代码可以完美解决这个问题:
var overscroll = function(el) { 
  el.addEventListener('touchstart', function() { 
  var top = el.scrollTop , 
  totalScroll = el.scrollHeight , 
  currentScroll = top + el.offsetHeight; 
//If we're at the top or the bottom of the containers 
//scroll, push up or down one pixel.
 // 
//this prevents the scroll from "passing through" to 
//the body.
   if(top === 0) {
     el.scrollTop = 1; 
  } else if(currentScroll === totalScroll) { 
    el.scrollTop = top - 1;
   } 
});
 el.addEventListener('touchmove', function(evt) {
 //if the content is actually scrollable, i.e. the content is long enough 
//that scrolling can occur
   if(el.offsetHeight < el.scrollHeight) 
    evt._isScroller = true;
   }); 
} 
  overscroll(document.querySelector('.scroll')); 
  document.body.addEventListener('touchmove', function(evt) {
 //In this case, the default behavior is scrolling the body, which 
//would result in an overflow. Since we don't want that, we preventDefault.
   if(!evt._isScroller) { 
    evt.preventDefault();
   }
 });
详情见:https://github.com/luster-io/prevent-overscroll/blob/master/index.html
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号