相关疑难解决方法(0)

iOS Safari - 如何禁用过度滚动但允许可滚动的div正常滚动?

我正在开发一个基于iPad的网络应用程序,需要防止过度滚动,以免它看起来像网页.我目前正在使用它来冻结视口并禁用过度滚动:

document.body.addEventListener('touchmove',function(e){
      e.preventDefault();
  });
Run Code Online (Sandbox Code Playgroud)

这可以很好地禁用过度滚动,但我的应用程序有几个可滚动的div,上面的代码阻止它们滚动.

我只针对iOS 5及以上版本,所以我避免使用像iScroll这样的hacky解决方案.相反,我将这个CSS用于我的可滚动div:

.scrollable {
    -webkit-overflow-scrolling: touch;
    overflow-y:auto;
}
Run Code Online (Sandbox Code Playgroud)

这没有文档overscroll脚本,但不解决div滚动问题.

没有jQuery插件,有没有办法使用过度滚动修复但免除我的$('.scrollable')divs?

编辑:

我发现了一些不错的解决方案:

 // Disable overscroll / viewport moving on everything but scrollable divs
 $('body').on('touchmove', function (e) {
         if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
 });
Run Code Online (Sandbox Code Playgroud)

滚动浏览div的开头或结尾时,视口仍会移动.我想找到一种方法来禁用它.

safari jquery mobile-website ipad ios

98
推荐指数
6
解决办法
13万
查看次数

禁用iPhone Web应用程序中的滚动?

有没有办法在iPhone网络应用程序中完全禁用网页滚动?我在谷歌上试过很多东西,但似乎都没有用.

这是我当前的标题设置:

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
Run Code Online (Sandbox Code Playgroud)

document.body.addEventListener('touchmove', function(e){ e.preventDefault(); });

似乎不起作用.

javascript iphone scroll

57
推荐指数
6
解决办法
12万
查看次数

iPhone Web App - 在iOS8中停止身体反弹/滚动

是的我知道.这个问题之前已被问过一千次.感谢所有人,我能够找到一个解决方案,最终在<= iOS7中完成了我的工作.但是,在更新到iOS 8后 - 似乎没有任何效果!

在iOS7中对我来说非常有用

CSS

html, body, .scrollable {
overflow: auto; 
-webkit-overflow-scrolling: touch;
}
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(function() {
  $(document).on("touchmove", function(evt) { evt.preventDefault() });
  $(document).on("touchmove", ".scrollable", function(evt) { evt.stopPropagation() });
});
Run Code Online (Sandbox Code Playgroud)

我试过的其他解决方案:

全部在这里:iPhone Web App - 停止正文滚动

在这里:iOS Safari - 如何禁用过度滚动但允许可滚动的div正常滚动?

在这里:禁用iOS Overscroll但允许正文滚动

和更多 ...

那么,有没有人知道iOS8兼容的禁用身体界限滚动 /反弹效果的方式(除了应用于phonegap项目的原生解决方案)?

scroll web-applications bounce ios8

12
推荐指数
1
解决办法
4983
查看次数

禁用iOS Safari中的过度滚动

如何防止Safari iOS中的过度滚动?我会使用触摸手势在网站上导航,但我不能.

我试过这个:

$(window).on('touchstart', function(event) {

    event.preventDefault();

});
Run Code Online (Sandbox Code Playgroud)

但是通过这种方式我禁用了所有手势,事实上我无法通过捏合和捏合来缩放.

有解决方案吗 谢谢.

javascript iphone jquery mobile-safari touch

6
推荐指数
2
解决办法
2万
查看次数

如何在 Chrome 中禁用平滑滚动

我正在创建一个网络应用程序(主要集中在 Chrome 中的使用),但是 Chrome 的“平滑滚动”(我想这就是所谓的,像 IOS 上的“额外”滚动)(在 mac 上时)进入道路。

有没有办法通过javascript禁用它?

javascript scroll google-chrome

5
推荐指数
1
解决办法
7165
查看次数