html让屏幕可以上下拉动,如何在vue中开启、禁止H5页面的上下拉动
最近接到项目经理的一个需求,要求将h5页面生成图片,用户点击在屏幕的时候能够将图片保存到本地,所以就很机智的用了html2canvas这个插件。自以为很完美的实现了这个功能,结果测试小哥在页面加载的时候上下拉动了一下页面,绘制出来的图片面目全非。立马去百度了一下,原来html2canvas在获取到dom元素之后才开始渲染。因此在页面开始加载时候,禁止页面的上下拉动便可以让html2canvas安安静静的绘图了。好了,开始踩坑吧。。。
阻止H5页面的上下拉动
document.body.addEventListener('touchmove',
e.preventDefault(); //阻止默认的处理方式(阻止下拉滑动的效果)
,{passive: false}//当 passive: true,浏览器忽略 preventDefault()。
);
开启H5页面的上下拉动
好了,既然禁止是这段代码,那么开启上拉动自然就是
document.body.removeEventListener('touchmove',
e.preventDefault(); //阻止默认的处理方式(阻止下拉滑动的效果)
,{passive: false}//当 passive: true,浏览器忽略 preventDefault()。
);
结果页面在加载的时候的确可以禁止上下拉动,But在页面加载之后,页面就再也不能上下拉动了。。。
为什么会出现这种情况呢?
如果要移除事件句柄,addEventListener()的执行函数必须使用外部函数,如上实例所示 (myFunction)。匿名函数,
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
