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


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(二)事件机制(2)
Dec 06 Javascript
让浏览器非阻塞加载javascript的几种方法小结
Apr 25 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
Jan 04 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
Jquery为a标签的href赋值实现代码
May 03 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
Jun 05 Javascript
js使用cookie记录用户名的方法
Nov 26 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 Javascript
vue实现购物车列表
Jun 30 Javascript
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 jQuery
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 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
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
PHP防注入安全代码
2008/04/09 PHP
php class类的用法详细总结
2013/10/17 PHP
php常用数学函数汇总
2014/11/21 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
php实现微信支付之退款功能
2018/05/30 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
jquery 日期分离成年月日的代码
2010/05/14 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python计算一个文件里字数的方法
2015/06/15 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Python bisect模块原理及常见实例
2020/06/17 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
2014年技术部工作总结
2014/12/12 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL