【问题标题】:Touchscreen scroll disable触摸屏滚动禁用
【发布时间】:2014-06-19 09:35:17
【问题描述】:

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

我看过以下帖子: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;
    }
},

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

【问题讨论】:

    标签: javascript jquery alert touchscreen


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 嗨,jQueryMobile 适用于 HTML5。可悲的是,我使用的应用程序使用 HTML4 和 IE7。这使得使用更新的代码变得更加困难。我确实尝试将您的代码添加到我的应用程序中,但没有帮助。
    • 你刚刚救了我的培根。谢谢。
    猜你喜欢
    • 2018-11-01
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    相关资源
    最近更新 更多