2

我想禁用 iphone 的 touchmove 滚动。已经尝试了我能想到的一切。真是令人沮丧。

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

 $('.info-wrapper > *').bind('touchmove', function (e) {
  e.stopPropagation()
  });

滚动应该像往常一样工作,但是当我单击一个按钮时,会出现一个 div 以透明度覆盖整个屏幕。这个 div 有类信息包装器。因此,所有孩子都应该停止文档上的事件以使其受到影响。但事实并非如此,似乎 info-wrapper 停止了它,但 info-wrapper 中有子项不会禁用滚动。这些是许多类型的元素,h2,span 等。

此外,信息包装器具有溢出:自动;应用,所以这个应该能够像往常一样滚动。

编辑:

好吧,这个似乎几乎可以工作。

            $(document).on('touchmove', function (ev) {
                if (!$(ev.target).parents().hasClass('info-wrapper')) {
                    ev.preventDefault();
                }
            });

还添加到 body css -webkit-overflow-scrolling: touch;

这会阻止底层主体使用 info-wrapper 滚动。

4

0 回答 0