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


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中的unshift()方法的使用
Jun 09 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
详解如何使用webpack打包Vue工程
May 27 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
Jul 15 Javascript
深入理解vue-router之keep-alive
Aug 31 Javascript
浅谈webpack4 图片处理汇总
Sep 12 Javascript
puppeteer实现html截图的示例代码
Jan 10 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 Javascript
React中使用UMEditor的方法示例
Dec 27 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
JS时间戳与日期格式互相转换的简单方法示例
Jan 30 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
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
基于vue实现分页效果
2017/11/06 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python实现的简单算术游戏实例
2015/05/26 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Python sorted排序方法如何实现
2020/03/31 Python
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
护理学中专毕业生求职信
2013/11/11 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
学习型班组申报材料
2014/05/31 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
自主招生自荐信范文
2015/03/04 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
学前教育见习总结
2015/06/23 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
Java设计模式之代理模式
2022/04/22 Java/Android
Golang解析JSON对象
2022/04/30 Golang