最近做项目,有一个一键分享的弹窗功能。
分享按钮以遮罩的形式布满整个屏幕,我采取position:absolute,四个方向的大小为0,做了个遮罩,但是发现时间会冒泡到底层的去,导致在遮罩上滑动屏幕也会使下层的body滚动起来。
想到的解决方法是阻止时间冒泡,所以在touchstart的时候,阻止了默认事件,但是导致遮罩上所有的点击事件不可用了。
说明我们事件阻止的位置不对,需要将点击和滑动分隔开来,所以采取在touchmove阶段阻止默认事件
share_link.on('touchmove', function (e) {
e.preventDefault();
});
这样在遮罩层滑动,下方也不滚动了