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


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 相关文章推荐
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
Jun 11 Javascript
jquery动态改变form属性提交表单
Jun 03 Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
jquery插件方式实现table查询功能的简单实例
Jun 06 Javascript
bootstrap table 多选框分页保留示例代码
Mar 08 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
Jun 29 Javascript
webpack开发环境和生产环境的深入理解
Nov 08 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
vue实现节点增删改功能
Sep 26 Javascript
15 分钟掌握vue-next响应式原理
Oct 13 Javascript
JavaScript实现更换背景图片
Oct 18 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
无数据库的详细域名查询程序PHP版(1)
2006/10/09 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
php短信接口代码
2016/05/13 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
jQuery对表单的操作代码集合
2011/04/06 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
JS实现放烟花效果
2020/03/10 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
Python的Urllib库的基本使用教程
2015/04/30 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
Python数据类型之List列表实例详解
2019/05/08 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
PHP面试题大全
2015/10/16 面试题
如何写一封打动人心的求职信
2014/02/17 职场文书