无法使用Cordova 1.9.0和Android Jelly Bean编辑输入类型=“text”或textarea

时间:2012-07-19 19:50:58

标签: android cordova

我刚拿到了我的闪亮的新Nexus 7并且正在玩Cordova(Phonegap)。我创建了一个包含几个文本输入字段和文本区域的简单页面。在我的iPhone上,我可以单击文本字段,键盘出现,我可以编辑文本。在我的Nexus 7上运行带有Cordova 1.9.0的4.1.1 Jelly Bean时,键盘会出现,但是当你输入的内容没有显示在文本字段或文本区域时。

我很确定我的代码很好,因为它可以在iPhone和Android 2.3.5上运行,但是以下是有问题的代码段以防万一:

  <body onload="onBodyLoad()">
  <div data-role="page" id="mainpage"> 
      <div data-role="header" data-theme="a"> 
          <h2>Lightweight</h2>
      </div>

      <div data-role="content">
        <div>
          <a href="#" data-role="button" data-icon="check" data-iconpos="bottom" data-theme="b" onClick=onClickInterrogate()>Interrogate</a>
        </div>

          <div align="center">
              <a href="#" data-role="button" data-inline="true" data-icon="forward" data-theme="b" onClick=downloadFile()>Send</a>
              <a href="#" data-role="button" data-inline="true" data-icon="gear" data-iconpos="right" data-theme="b" onClick=onClickSettings()>Settings</a>
          </div>

          <div align="center">
              <label for="serverUrl">Server URL:</label>
              <input type="text" name="name" id="serverUrl" value="urlGoesHere"/>
              <label for="zipFile">Zip File:</label>
              <input type="text" name="name" id="zipFile" value="tran1.zip"/>
          </div>
            <div data-role="fieldcontain">
                <label for="textarea">Textarea:</label>
                <textarea name="textarea" id="textarea">urlGoesHere</textarea>
            </div>
    </div>
      <div data-role="footer"> 
          <h1> &copy; 2012 Company Name </h1>
      </div>
  </div>   

我刚刚在Android 2.3.5上试过这个并且它运行正常。有人经历过类似的事吗?

4 个答案:

答案 0 :(得分:28)

此问题在2.1.0中仍然存在。

以下是我修复它的方法。

删除以下CSS规则,您可以在输入元素中快乐地输入。

-webkit-user-select: none;

答案 1 :(得分:4)

Phonegap刚刚发布了2.0。它解决了键盘问题。

答案 2 :(得分:3)

我也必须在浏览器中使用我的应用程序,并且存在同样的问题。有可能只在textarea上解决这个问题:

*{
    -webkit-touch-callout: none;
    -webkit-user-select: none; 
}
textarea
{
    -webkit-user-select: auto !important;
}

它也适用于jquery mobile。

答案 3 :(得分:0)

-webkit-user-select:none; 这对我有用。我完全迷失了几个小时尝试输入字段参数的变化,没有其他工作。 (phonegap 2.5.0 / android 4.1.1)