通过监听 touchmove 事件:当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。
// 禁止页面滚动
var forbidScroll = function(e) {
e.preventDefault();
};
// 通过 $once 来监听生命周期 beforeDestroy 钩子
this.$once("hook:beforeDestroy", () => {
window.removeEventListener("touchmove", forbidScroll);
});
function forbidTouchMove() {
document.body.style.overflow = "hidden";
window.addEventListener("touchmove", forbidScroll, { passive: false });
}
forbidTouchMove();