我们有一个使用JQuery移动,PhoneGap和ASP.net MVC构建的移动web应用程序。这款应用的目标是在iOS和安卓设备上运行,而不管浏览器是什么。我们已经在下面列出的设备上测试了应用程序,它似乎工作得很好,没有任何问题
iOS 5 - iPad,iPhone。
安卓4.1.2 -谷歌Nexus7,三星Galaxy S3,三星Galaxy Note2,三星Galaxy Tab 2。
华硕安卓4.0.3 - Transformer标签
但是当在三星Galaxy Note800 4.1.2的安卓股票浏览器上测试时,我们遇到了一个非常奇怪的问题。当滚动被启用时,放置在带有css attribute'overflow:auto‘的div (比方说子div)中的元素不会响应任何触摸事件。这里要注意的主要事情是,包含此div的父div绝对定位为'position:abolute'.在网上研究了一段时间后,我们发现绝对位置和溢出属性的组合可能会导致Android浏览器出现一些问题。
移除绝对位置目前是不可能的,因为这会导致布局的完全重新设计,我们只剩下几天的发布时间了。那么,有没有人能给出一个快速的解决方案呢?
发布于 2014-05-28 18:52:48
请改用overflow-x
和/或overflow-y
属性。
例如
overflow-y: scroll; /* allow vertical scrolling */
-webkit-overflow-scrolling: touch; /* optional momentum scrolling */
此外,由于滚动条在触控设备上是隐藏的,所以你可以使用:scroll
而不是:auto
。它看起来是一样的,但可能不会受到相同的but的影响。
发布于 2013-09-27 22:03:06
我不知道它为什么会起作用,但是在你的风格中添加-webkit-backface-visibility: hidden就可以解决这个问题了
发布于 2014-05-23 02:30:51
overflow: auto
的问题是/曾经是安卓浏览器中的一个已知问题。在2009年的(see here)中有一个关于这个问题的报道。我以为他们已经同时解决了这个问题。它被标记为过时的。但人们仍在抱怨它不起作用。如果是这样的话,我怀疑他们不会再修复它了,因为Chrome现在已经成为标准的Android浏览器。
https://stackoverflow.com/questions/17938755
复制相似问题