[尝试通过JavaScript启用和禁用页面滚动。但是似乎下面的方法在谷歌浏览器上不起作用,但是在Safari和FireFox上工作得很好-
let keys = [32, 33, 34, 35, 36, 37, 38, 39, 40];
function preventDefault(e) {
e = e || window.event;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}
function keydown(e) {
for (var i = keys.length; i--;) {
if (e.keyCode === keys[i]) {
preventDefault(e);
return;
}
}
}
function wheel(e) {
preventDefault(e);
}
export function disableJSScroll() {
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', wheel, false);
window.addEventListener('mousewheel', wheel, false);
}
window.onmousewheel = document.onmousewheel = wheel;
document.onkeydown = keydown;
}
export function enableJSScroll() {
if (window.removeEventListener) {
window.removeEventListener('DOMMouseScroll', wheel, false);
window.removeEventListener('mousewheel', wheel, false);
}
window.onmousewheel = document.onmousewheel = document.onkeydown = null;
}
任何帮助将不胜感激!
DOMMouseScroll是非标准且不推荐使用的事件。请改用wheel
事件。