我的代码:
for(var myLine = 0; myLine < 100; myLine++)
document.getElementById("myDiv").innerHTML += "line " + myLine + "<br>";
...............
<div style="position:...etc; overflow:auto;" id="myDiv"></div>
这在所有非移动平台上的每个浏览器中都没有出现故障。但是......当在iPhone(Safari)或Android(webkit)上实现时,div会填充文本,但是当文本超过div的高度并且用户无法“推送”时,不会生成滚动条内容也要么。因此无论如何,有效溢出总是“隐藏”。
我很好奇是否有一些我忽略的替代方法,或者这只是一个我目前无法绕过的错误。
答案 0 :(得分:3)
这是移动网络套件上的已知问题:http://www.quirksmode.org/webkit.html。寻找overflow
。
解决方法是iScroll。
答案 1 :(得分:1)
实际上,iOS表现正常。用户必须使用两根手指滚动页面上不是整页的任何滚动区域。 (否则,当浏览器在非优化页面上填满屏幕时,如果用户想要滚动div或它的容器,浏览器将如何知道。)
解决'功能'的最佳方法是实现一个触摸事件处理程序,当用户触摸它时将其移动。实践中一个很好的例子是Apple的FingerTips示例代码。
当您在iPad上浏览Safari Developer Library时,Apple会使用这种技巧。
答案 2 :(得分:0)
我认为问题在于设置innerHTML,这里是类似的post。
在dom加载并准备就绪后,是否在iPhone上调用了该函数?