早些时候问了一个问题。尝试了一种新方法,仍然行不通。我有一个按钮,用于删除<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/