早些时候问了一个问题。尝试了一种新方法,仍然行不通。我有一个按钮,用于删除<p>元素,并将其替换为具有相同内容但可编辑的<textarea>。我需要将焦点转移到该<textarea>,但不能在设备上,只能在浏览器上。我已将所需的<preference name="KeyboardDisplayRequiersUserAction" value="false"/>属性添加到config.xml

HTML:

<div ng-click="edit()">
  Click here to edit
</div>

<div ng-if="!post.typing" class="post-text">
  <p>{{post.post_text}}</p>
</div>

<div ng-if="post.typing" class="post-text">
  <form ng-submit="submit()">
    <textarea id="text"  ng-keyup="$event.keyCode == 13 && submit()" style="width:100%" ng-model="post.post_text"></textarea>
    <input type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;"/>
  </form>
</div>


JS:

$scope.edit = function() {
  $scope.post.typing = true;
  $timeout(function () {
    document.getElementById("text").focus();
  }, 100);
}

最佳答案

我注意到您的评论中包括:

<preference name="KeyboardDisplayRequiersUserAction" value="false"/>


在config.xml中。需求中有错字-这可能是您的问题!

关于javascript - 在Cordova Web应用程序中集中输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31127138/

10-11 12:06