首页 > 代码库 > 屏蔽微信下拉出黑底现象
屏蔽微信下拉出黑底现象
由于公司接触微信页面较多,
所以一度被微信下拉出黑的这种情况生无可恋,
所以花了较长时间去实践了各种方法(一脸懵逼.jpg)
好吧,经过各种傻逼的方法尝试后,发觉竟然还是可以简单解决的,一脸憋屈...
普遍流传的方法是屏蔽掉 body 的 touchstart 或 touchmove 事件,但也会让所有滚动不可用,只适用部分页面
所以我就把重心放在了如何让滚动依旧可用上,乃至屏蔽所有的事件自写一个滚动容器(弹性拖动和避免卡顿要疯...)
而后来发现,直接屏蔽掉当 scrollTop 在顶部时的 touchmove 不就好了吗,真是走了好多弯路
function stopDrop(stillCanScroll) { var lastY; $("body").off().on(‘touchstart.stop‘, function(event) { lastY = event.originalEvent.changedTouches[0].clientY; }).on(‘touchmove.stop‘, function(event) { var y = event.originalEvent.changedTouches[0].clientY; var st = $(stillCanScroll).scrollTop(); // 向上滚动且滚动条位于顶部,屏蔽事件 if (y > lastY && st < 5) { event.preventDefault(); return false; } lastY = y; });}
该怎么去评价这段代码吗,反正不高效就对了,
正在实践多个 stillCanScroll 的情况,但又实在害怕检测该元素 touchstart 而造成的事件混淆,
理论上确实能解决出黑底的问题,但依旧不能根除,而且还把下拉刷新刷新的功能搞没了。
就这样吧,这个问题解决办法的寻求将抗日持久....
屏蔽微信下拉出黑底现象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。