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


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之软键盘实现(js源码)
Jan 30 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
Bootstrap实现默认导航栏效果
Sep 21 Javascript
JavaScript中获取HTML元素值的三种方法
Jun 20 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
Dec 20 Javascript
Angular的自定义指令以及实例
Dec 26 Javascript
jquery层次选择器的介绍
Jan 18 jQuery
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
Aug 23 Javascript
JavaScript 去重和重复次数统计
Mar 31 Javascript
Typescript类型系统FLOW静态检查基本规范
May 25 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
全国中波电台频率表
2020/03/11 无线电
php实现评论回复删除功能
2017/05/23 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
JS 控件事件小结
2012/10/31 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
文案策划求职信
2014/04/14 职场文书
离婚协议书怎么写
2014/09/12 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书