zoukankan      html  css  js  c++  java
  • 微信浏览器禁止页面下拉查看网址(不影响页面内部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
  • 相关阅读:
    vb.net EXCEL进程问题
    VB.NET 中使用正则表达式
    改变鼠标状态
    举证信息表,语言不是VB.NET 是VBA的
    初学查询时的一些东西
    删除关联错误
    对于 using ESRI.ArcGIS.Carto; 的引用。是否缺少 using 指令或程序集引用
    AxMapControl 引用问题
    堆排序:大顶堆,小顶堆
    abs()函数,fabs函数(),max()函数的区别
  • 原文地址:https://www.cnblogs.com/xuniannian/p/8192493.html
Copyright © 2011-2022 走看看