如何禁用滚动而不使用overflow:hidden&位置:固定的吗?

时间:2017-03-21 14:11:31

标签: javascript jquery html css

给我解决方案以禁用页面滚动。现在我正在使用

overflow:hidden

position:fixed

我也使用给定的代码:

var keys = { 37: 1, 38: 1, 39: 1, 40: 1 };

function preventDefault(e) {
    e = e || window.event;
    if (e.preventDefault) e.preventDefault();
    e.returnValue = false;
}

function preventDefaultForScrollKeys(e) {
    if (keys[e.keyCode]) {
        preventDefault(e);
        return false;
    }
}

function disableScroll() {
    if (window.addEventListener) // older FF
        window.addEventListener('DOMMouseScroll', preventDefault, false);
    window.onwheel = preventDefault; // modern standard
    window.onmousewheel = document.onmousewheel = preventDefault; // older browsers, IE
    window.ontouchmove = preventDefault; // mobile
    document.onkeydown = preventDefaultForScrollKeys;
}

function enableScroll() {
    if (window.removeEventListener) window.removeEventListener('DOMMouseScroll', preventDefault, false);
    window.onmousewheel = document.onmousewheel = null;
    window.onwheel = null;
    window.ontouchmove = null;
    document.onkeydown = null;
}

但它没有给我正确的输出。当我使用上面的代码时,我的页面会变得波动......我不想使用任何库。

1 个答案:

答案 0 :(得分:0)

尝试

window.onscroll = function () { window.scrollTo(0, 0); };