防止滚动但允许在JQuery中滑动事件

时间:2014-09-19 03:48:13

标签: javascript jquery html jquery-mobile mobile

我正在处理网页的移动版本,我们提供的其中一项功能是侧边栏。在我的Android设备上,当sdiebar可见时,仍然可以使用仍然可见的身体部分滚动背景。要解决此问题,请使用以下命令禁用页面上的滚动:

$(document).bind('touchmove', function (e) { e.preventDefault(); });

侧边栏打开时,侧边栏关闭后解除绑定。

最近我想尝试添加滑动和关闭侧边栏的功能。使用jQuery Mobile功能,我订阅了swipeleft事件,如下所示:

$(document).on("swipeleft", swipeLeftHandler);
function swipeLeftHandler(event) {
    if (isSidebarOpen()) {
        toggleSidebar();
    }
}

我故意订阅整个页面,因为它们刷卡的位置并不重要。当我阻止触摸移动时,这不起作用,但是当我删除该代码时,这不起作用。显然,缺点是用户仍然可以滚动侧边栏后面的主页面。

为了实现侧边栏,我使用了JQuery幻灯片事件并将其放在一个浮动到左侧且具有固定位置的div中。

有什么方法可以禁用滚动功能,但仍允许swipeleft事件有效吗?

0 个答案:

没有答案