【问题标题】:<select> box not displaying on Android in PhoneGap<select> 框未在 PhoneGap 中的 Android 上显示
【发布时间】:2011-05-30 05:28:04
【问题描述】:

我在PhoneGap 应用程序中有一些HTML 代码,它向用户显示&lt;select&gt; 框。当我点击它时,通常的 Android 选择屏幕不会弹出。我之前在 webOS 上使用过 similar problem(尽管当时下拉菜单工作正常)。

&lt;select&gt; 位于 &lt;div&gt; 内部,在执行期间的特定时间会隐藏或显示:

<div id="submit">
  <ul class="rounded">
    <li><select id="item"></select></li>
  </ul>
</div>

仅当 &lt;div&gt; 被隐藏然后再次显示时(直接通过 CSS 或使用 jQuery 的 hide()show() 方法。如果我将 &lt;select&gt; 框移到 @987654330 之外@,或者如果我让 &lt;div&gt; 始终可见,那么下拉菜单会正常运行;没问题。

这是为什么?

【问题讨论】:

  • 我之前也注意到了同样的问题;在某些模拟器/设备上,我实际上可以正常工作,但您必须点击选择框上的小箭头,而不是文本。相当蹩脚:/
  • 我想知道这是否与它有关。 jQTouch 以完全不同的方式显示选择框(即不再有箭头)。感谢您的洞察力!

标签: android html cordova


【解决方案1】:

我在基于 iScroll+Phonegap 的 android 应用程序上遇到了同样的问题。 不要使用 iScroll

【讨论】:

    【解决方案2】:

    在这种情况下,问题实际上是由 jQTouch 解决的。要修复它,只需在 jqtouch.css 中注释掉这 4 行

    在“正文”下

      /*-webkit-perspective: 800;*/
      /*-webkit-transform-style: preserve-3d;*/ 
    

    在“正文> *”下

    /*-webkit-backface-visibility: hidden;*/
    /*-webkit-transform: translate3d(0,0,0) rotate(0) scale(1);*/
    

    【讨论】:

    • 谢谢!很高兴你知道了。
    【解决方案3】:

    我认为您遇到了这个问题: http://code.google.com/p/android/issues/detail?id=10280

    【讨论】:

    • 我相信你是对的。我隐藏然后稍后显示选择框。猜猜我们只需要等待错误被修复。 :) 感谢您的研究!
    • 我每天都在忍受这个错误,这真的很烦人。一个奇怪的解决方法是在所有选择列表可见后克隆它们。不过,我不会对克隆的元素做任何事情。克隆本身似乎以某种方式触发 Android 使它们正常工作。但似乎并非在所有情况下都有效。我今天注意到的另一件事是,如果您的选择列表正好放在另一个元素的上方,则选择列表可能会冻结。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    相关资源
    最近更新 更多