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

Javascript iPad禁用文档滚动,但不禁用div溢出滚动,javascript,jquery,css,ipad,scroll,Javascript,Jquery,Css,Ipad,Scroll,我正在开发具有滚动功能的模式窗口,比如pinterest窗口。当它们被激发时,在模态盒容器上定义溢出:隐藏和溢出:自动。这在桌面浏览器上运行得很好,但我在iPad上的第一次测试(我想大概是在iOS上)揭示了一个问题: 当模式滚动结束时,如果文档比模式长,滚动将继续 我尝试此操作的目的是,仅当模式或其容器触发滚动时,才接受滚动: // Disable browser scrolling on iOS $(document).on('touchmove',function(e) { if (

我正在开发具有滚动功能的模式窗口,比如pinterest窗口。当它们被激发时,在模态盒容器上定义
溢出:隐藏
溢出:自动
。这在桌面浏览器上运行得很好,但我在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();
    }
});
严格说来,这确实有效。模式会滚动,当滚动结束时,仅当您在模式内滚动时,才可以滚动页面

你知道吗

如果您愿意,可以在您的iPad上试用(您必须单击“模式”按钮):


提前谢谢你

小的改变是强大的

通过在模态容器上(以及在背景的黑色遮罩上,如果需要)更改
位置:绝对
,可以解决所有问题。事实上,对于绝对定位,模式只起作用,因为按钮位于页面顶部

使用固定位置的桌面浏览器可以完美地工作,在ipad上会发生一些有趣的事情。当模态的滚动结束时,页面的滚动开始工作,但模态始终位于顶部,位置良好

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