微信浏览器禁止页面下拉查看网址实例详解


Posted in Javascript onJune 28, 2017

微信浏览器禁止页面下拉查看网址实例详解

此类事件是手机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

源码下载:http://xiazai.3water.com/201706/yuanma/preventoverscrollmaster(3water.com).rar

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jquery.validate分组验证代码
Mar 17 Javascript
jquery实现弹出层完美居中效果
Mar 03 Javascript
js简单实现交换Li的值
May 22 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
Mar 07 Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 Javascript
Vue.js中extend选项和delimiters选项的比较
Jul 17 Javascript
js定时器+简单的动画效果实例
Nov 10 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
Vue+element-ui 实现表格的分页功能示例
Aug 18 Javascript
Vue中的基础过渡动画及实现原理解析
Dec 04 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 Javascript
基于EasyUI的基础之上实现树形功能菜单
Jun 28 #Javascript
webpack学习--webpack经典7分钟入门教程
Jun 28 #Javascript
BootStrap Table前台和后台分页对JSON格式的要求
Jun 28 #Javascript
vue2项目使用sass的示例代码
Jun 28 #Javascript
微信小程序之网络请求简单封装实例详解
Jun 28 #Javascript
详解webpack+angular2开发环境搭建
Jun 28 #Javascript
JavaScript中最常用的10种代码简写技巧总结
Jun 28 #Javascript
You might like
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
PHP的引用详解
2015/02/22 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
python hash每次调用结果不同的原因
2019/11/21 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
技术总监岗位职责
2013/12/05 职场文书
个人违纪检讨书
2014/09/15 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
通知函的格式
2015/04/27 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
5道关于python基础 while循环练习题
2021/11/27 Python