之前问过一个关于这个的问题。尝试了新的方法,还是不行。我有一个按钮可以删除 <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 中。 Requires 中存在拼写错误 - 这可能是您的问题!
关于javascript - Cordova Web 应用程序中的焦点输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31127138/