jQuery mobile - 打开侧面板时只允许垂直滚动?

时间:2013-10-17 07:03:07

标签: javascript jquery css jquery-mobile

引用this我想只允许垂直滚动。

以下代码将禁用面板上的所有触摸移动。

$(document).on("pageinit", "#form1", function (event) {
    $("#navmenu").on("panelopen", function (event, ui) {
        $("body").css("overflow", "hidden").on("touchmove", stopScroll);
    });
    $("#navmenu").on("panelclose", function (event, ui) {
        $("body").css("overflow", "auto").off("touchmove");
    });

    function stopScroll() {
        return false;
    }
});

如何在stopScroll函数中使用“overflow-x:hidden”以允许垂直滚动并禁用水平?

感谢。

2 个答案:

答案 0 :(得分:1)

你有没有试过这个

$("html, body").css("overflowX", "hidden");

最好将css分开用于移动设备。

答案 1 :(得分:0)

$(document).on('panelopen', '[data-role="panel"]',function (event) {
    document.ontouchmove = function(e) {
        e.preventDefault();
    }
}).on('panelclose', '[data-role="panel"]', function (event) {
        document.ontouchmove = function(e) {
             return true;
        }
    });