iPad禁用文档滚动但不禁用div溢出滚动

dgn*_*nin 5 javascript css jquery scroll ipad

我正在开发具有可滚动功能的模态窗口,就像pinterest那样.当它们被触发overflow: hiddenbody,overflow: auto在模态盒容器上定义.这在桌面浏览器上非常有效,但我在iPad上的第一次测试(我认为可能在iOS上)可能会出现问题:

当模式的滚动结束时,如果文档比模态长,则滚动继续.

我尝试这个只是为了接受滚动,如果它是由模态或其容器触发:

// Disable browser scrolling on iOS
$(document).on('touchmove',function(e) {
    if (($(e.target).attr('id') != id) &&
    ($(e.target).attr('id') != ('modal-'+id))) {
        e.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

它确实很有效.模态滚动,当它结束滚动页面时,只有在模态内滚动时才可以.

你有什么主意吗?

如果你想在你的ipads中尝试它(你必须点击模态按钮):http://www.onebigrobot.com/beta/altair/transforms-so

先感谢您!

dgn*_*nin 7

小变化是强大的!

position: absolute通过position: fixed模态容器(如果需要还可以在背景的暗掩模上)更改所有问题.实际上,通过绝对定位,模态仅起作用,因为按钮位于页面顶部.

使用固定定位桌面浏览器可以很好地工作,而在ipad上则会发生一些有趣的事 当模态的滚动结束时,页面的滚动开始起作用,但模式始终位于顶部.

我希望这个问题对某些人有用.