javascript - 触摸屏滚动禁用

标签 javascript jquery alert touchscreen

对于我的工作,我必须在触摸屏应用程序上创建帮助文件。 通常页面可以通过触摸滚动,这很好,但现在他们要我创建一些可移动的弹出窗口,移动会干扰触摸屏的滚动。当弹出窗口在屏幕上时,有没有办法禁用背景滚动?

我看过下面的帖子:Prevent Background Scrolling When Displaying Popup.

但是“$(window).scroll(function() { return false; });”似乎对我不起作用。

我的应用程序在 IE7 的后台运行..

我现在使用的代码如下。

_overlay: function (status) {
    switch (status) {
        case 'show':
            $(window).scroll(function () {
                return false;
            });
            $.alerts._overlay('hide');
            $("BODY").append('<div id="popup_overlay"></div>');
            $("#popup_overlay").css({
                position: 'absolute',
                zIndex: 99998,
                top: '0px',
                left: '0px',
                width: '100%',
                height: $(document).height(),
                background: $.alerts.overlayColor,
                opacity: $.alerts.overlayOpacity
            });
            break;
        case 'hide':
            $(window).unbind('scroll');
            $("#popup_overlay").remove();
            break;
    }
},

这会在背景和弹出窗口之间创建一个叠加层,但背景仍然可以滚动。删除滚动条并不是真正的解决方案,因为我使用触摸和滑动。

最佳答案

如果您使用的是 jQueryMobile,请在您想停止页面滚动时使用此代码:

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

然后使用这段代码让它再次滚动:

$(document).unbind('touchmove');

关于javascript - 触摸屏滚动禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303371/

相关文章:

android - 显示在警报 Activity 弹出窗口顶部的应用程序名称

javascript - 来自露天 javascript 文件的 HTTP 请求

javascript - 如何防止用户移动页面?

javascript element.scrollLeft 不起作用

javascript - Wordpress/Gravity Forms - 如何根据选中的复选框显示/隐藏单个 <ul> 列表中的元素?

javascript - 使用 JavaScript 和 PhoneGap 的 Windows Phone 7 模拟器不会触发警报

javascript - 我的网络 worker 似乎没有正确计算

javascript - 我如何进行初始 JavaScript Ajax 初始化?

javascript - 如何在浏览器调整大小时重新加载 Javascript? BX slider 轮播

JavaScript 异步调用仅适用于alert()