Ios5 在iOS 5中使用-webkit溢出滚动时出现滚动问题

Ios5 在iOS 5中使用-webkit溢出滚动时出现滚动问题,ios5,mobile,scroll,overflow,Ios5,Mobile,Scroll,Overflow,我有一个固定高度的HTML页面div,应该可以滚动(仅垂直)。在iOS 5中,这可以通过以下方式实现: overflow-y: auto; -webkit-overflow-scrolling: touch; div包含一个无序列表,其中包含大约10项 滚动是有效的,但有时只有当我按对角线方向甚至水平方向滑动手指,而不是按应该的垂直方向滑动手指时,它才会滚动 我想知道是否有人遇到过这个问题。我不想认为它是iOS5中的一个bug,但我不知道我做错了什么,因为大多数时候它工作正常。我也有同样的问题

我有一个固定高度的HTML页面div,应该可以滚动(仅垂直)。在iOS 5中,这可以通过以下方式实现:

overflow-y: auto;
-webkit-overflow-scrolling: touch;
div包含一个无序列表,其中包含大约10项

滚动是有效的,但有时只有当我按对角线方向甚至水平方向滑动手指,而不是按应该的垂直方向滑动手指时,它才会滚动


我想知道是否有人遇到过这个问题。我不想认为它是iOS5中的一个bug,但我不知道我做错了什么,因为大多数时候它工作正常。

我也有同样的问题。这个问题原来是由我的站点用来跟踪历史更改和加载脚本的两个零大小iFrame引起的。删除这些选项修复了该问题。我向苹果提交了一个bug,等待他们的回复


检查页面上是否有任何IFrame,它们可能是原因。

您需要将此css设置放入css文件中,即使用配置变量加载的css文件:

body {
    -webkit-transform: translate3d(0, 0, 0);
}
另一个选项是直接从tinymce初始化时的代码设置css:

$(tinymce.activeEditor.getBody()).css('-webkit-transform', translate3d(0, 0, 0));

我已经找到了一个黑客解决方案,但它需要javascript

我在通过ajax加载可滚动节点并用js附加它们时偶然发现了这个问题

我发现用js重置-webkit overflow滚动属性节省了时间

JS代码:

var myDiv = $('.myDiv');
myDiv.css('-webkit-overflow-scrolling','auto');
function fn(){
    myDiv.css('-webkit-overflow-scrolling','touch');
}
setTimeout(fn,500);
我们必须调用
setTimeout
方法,这真的很糟糕,但这是我能想到的唯一方法

编辑:注意
显示:无


我在iOS 5.1.1中也遇到了同样的问题,这是由于一个
:after
伪元素带有
位置:fixed
,它位于包含显示“错误滚动轴”行为的可滚动列表的元素上

你有苹果的消息吗?或者,除了删除iFrame,您是否找到了其他解决方法?我在尝试使用-webkit overflow滚动时遇到了这个问题。但不知道原因(我的页面上没有iframe)。翻转、3d变换和iframe删除对我没有任何帮助。在我花了几个晚上研究这个bug之后,删除了不可见的
iframe
解决了这个问题。先生,你太棒了。你找到解决办法了吗?我也遇到了同样的问题,但我无法解决…我开始悬赏,所以我可以把它给你。谢谢!这是黑客行为,但就我而言,这首先是一个iOS错误。