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


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 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
javascript下判断一个元素是否存在的代码
Mar 05 Javascript
js截取小数点后几位的写法
Nov 14 Javascript
javascript的事件触发器介绍的实现
Jun 05 Javascript
EasyUI中实现form表单提交的示例分享
Mar 01 Javascript
js实现最短的XML格式化工具实例
Mar 12 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
May 05 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
Jun 27 Javascript
vue异步加载高德地图的实现
Jun 19 Javascript
一篇文章学会Vue中间件管道
Jun 20 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实现二维数组按某列进行排序的方法
2016/11/18 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
php session_decode函数用法讲解
2019/05/26 PHP
利用js对象弹出一个层
2008/03/26 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python操作xml文件详细介绍
2014/06/09 Python
初学Python实用技巧两则
2014/08/29 Python
批处理与python代码混合编程的方法
2016/05/19 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
英文简历中的自我评价
2013/10/06 职场文书
企业军训感言
2014/02/08 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
战友聚会策划方案
2014/06/13 职场文书
工作作风承诺书
2014/08/30 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
python 网络编程要点总结
2021/06/18 Python
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
MySQL sql模式设置引起的问题
2022/05/15 MySQL