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
  • 相关阅读:
    洛谷 P2756 飞行员配对方案问题 (二分图匹配)
    HDU 1879 继续畅通工程 (最小生成树)
    POJ 3090 Visible Lattice Points (欧拉函数)
    SPOJ VFMUL
    洛谷 P3803 【模板】多项式乘法(FFT)
    JAVA MyBatis 逆向工程 遇到的坑
    RabbitMQ遇到的坑
    .net webapi action拦截器 统计action耗时
    CEFCharp下载问题
    【进击.NET高级程序员之路】【二】
  • 原文地址:https://www.cnblogs.com/xuniannian/p/8192493.html
Copyright © 2011-2022 走看看