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


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 相关文章推荐
javascript开发技术大全-第3章 js数据类型
Jul 03 Javascript
javascript动画浅析
Aug 30 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
Dec 13 Javascript
jQuery调用ajax请求的常见方法汇总
Mar 24 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
jQuery解析json格式数据简单实例
Jan 22 Javascript
jQuery检查元素存在性(推荐)
Sep 17 Javascript
jQuery实现级联下拉框实战(5)
Feb 08 Javascript
ajax接收后台数据在html页面显示
Feb 19 Javascript
详解vue-cli3开发Chrome插件实践
May 29 Javascript
详解Vue的sync修饰符
May 15 Vue.js
基于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带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
在PHP中使用curl_init函数的说明
2010/11/02 PHP
php数组的一些常见操作汇总
2011/07/17 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
php实现读取超大文件的方法
2014/07/28 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
php集成开发环境详解
2019/09/24 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python函数式编程
2017/07/20 Python
Python for循环中的陷阱详解
2018/07/13 Python
Python requests库用法实例详解
2018/08/14 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
班主任工作经验材料
2014/02/02 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
个人批评与自我批评
2014/10/15 职场文书
2014年大学生工作总结
2014/11/20 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python