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


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 相关文章推荐
接收键盘指令的脚本
Jun 26 Javascript
JS模拟的QQ面板上的多级可展开的菜单
Oct 10 Javascript
超酷的网页音乐播放器DewPlayer使用方法
Dec 18 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
Sep 01 Javascript
JavaScript基础知识学习笔记
Dec 02 Javascript
JavaScript html5 canvas绘制时钟效果
Mar 01 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
Jul 14 Javascript
JS图片压缩(pc端和移动端都适用)
Jan 12 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
9个JavaScript日常开发小技巧
Oct 06 Javascript
node.js通过Sequelize 连接MySQL的方法
Dec 28 Javascript
Node.js 中如何收集和解析命令行参数
Jan 08 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中static和const关键字用法分析
2016/12/07 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
django中的ajax组件教程详解
2018/10/18 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
js实现网页收藏功能
2015/12/17 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
[01:05:40]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第三场
2014/05/24 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
Python入门之后再看点什么好?
2018/03/05 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
Python3解释器知识点总结
2019/02/19 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
大专生的学习自我评价
2013/12/04 职场文书
青年标兵事迹材料
2014/08/16 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
民事代理词范文
2015/05/25 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫