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


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中cookie的使用详细分析
May 28 Javascript
IE与firefox下Dhtml的一些区别小结
Dec 02 Javascript
jQuery Dialog 弹出层对话框插件
Aug 09 Javascript
jquery入门必备的基本认识及实例(整理)
Jun 24 Javascript
动态加载script文件的两种方法
Aug 15 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
JQuery和HTML5 Canvas实现弹幕效果
Jan 04 Javascript
jQuery实现菜单栏导航效果
Aug 15 jQuery
js中apply()和call()的区别与用法实例分析
Aug 14 Javascript
详解JavaScript中的函数、对象
Apr 01 Javascript
vue-router路由模式详解(小结)
Aug 26 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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
客户端静态页面玩分页
2006/06/26 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
react路由配置方式详解
2017/08/07 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Anaconda入门使用总结
2018/04/05 Python
numpy.random模块用法总结
2019/05/27 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
Vrbo英国:预订度假屋
2020/08/19 全球购物
某科技软件测试面试题
2013/05/19 面试题
项目施工员岗位职责
2014/03/09 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers