JavaScript中防止微信浏览器被整体拖动的方法

前端之家收集整理的这篇文章主要介绍了JavaScript中防止微信浏览器被整体拖动的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在微信网页开发中,我使用的页面结构是在body下的container覆盖全屏,container下有个header和page的容器,page负责显示所有内容并实现滚动。

结构如图:

但是遇到了一个问题:在页面已经滚动到顶部时,继续往下拖动page容器,会将微信浏览器整体往下拖,漏出“该网页由XXX提供”的提示,然后在安卓下,影响并不大,但是在iphone下,就没那么简单了,经过测试,在苹果下,往下拖动后快速滑动页面中的page,page并不会滚动,上拖同样遇到了这个问题,非常影响体验。

查阅文献后,我准备在touchstart和touchmove上做些处理。

思路是当page页面滚动到顶部时,再向下拖动会阻止默认的拖动事件,page页面到底后也阻止向上拖动。结构与代码如下

doctype html

0) { event.preventDefault(); }           // 判断是否在底部,且向上拖动 var o = $('.bottom').offset(); if (o.top + o.height === Box_height && changedY < 0) { event.preventDefault(); } });        // header禁止拖动 $('.header').on('touchmove',function(event) { event.preventDefault(); }); });

样式如下:

*{ z-index: 1; } .Box{ width: 100%; height: 300px; line-height: 300px; Box-sizing: border-Box; border-bottom: 2px solid #fff; }

总结

以上所述是小编给大家介绍的JavaScript中防止微信浏览器被整体拖动的方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文链接:https://www.f2er.com/js/36847.html

猜你在找的JavaScript相关文章