Cordova 将输入场聚焦在“离子”模式下不工作

Cordova 将输入场聚焦在“离子”模式下不工作,cordova,keyboard,focus,ionic-framework,ionic,Cordova,Keyboard,Focus,Ionic Framework,Ionic,我一直在做我的研究,在爱奥尼亚社区,这似乎不是一个罕见的问题。我有一个带有视图输入的简单表单: <input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName"> ... 当然,这是行不通的,所以正如我看到的一些帖子所暗示的,我必须加上。我通过以下方式实现: cordova plugin add https://github.com/driftyco/ionic-

我一直在做我的研究,在爱奥尼亚社区,这似乎不是一个罕见的问题。我有一个带有视图输入的简单表单:

<input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName">
...
当然,这是行不通的,所以正如我看到的一些帖子所暗示的,我必须加上。我通过以下方式实现:

cordova plugin add https://github.com/driftyco/ionic-plugins-keyboard.git
显然,我还必须在我的
config.xml
中设置:

<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
<feature name="Keyboard">
  <param name="ios-package" onload="true" value="IonicKeyboard"/>
</feature>


然后很明显,一切都会好起来。。。但事实并非如此。有什么我遗漏的吗?

您可以使用
自动对焦
,但这只会在您第一次打开页面时起作用,所以请尝试此指令。它对我来说很有魅力
JS:

HTML:

<input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName" focus-me focus-me-disable={{disableFlag}}>


在输入标记中使用autofocus属性作为…问题是,我有一大堆输入,我正在迭代以查看是否提供了值。如果没有,我想把这个领域集中起来。因此,这不仅仅是设置一个关注负载的字段的问题,您是否尝试过将getElementById放在平台就绪函数中。我刚刚用下面的代码测试了一个示例应用程序,它运行良好$ionicPlatform.ready(function(){document.getElementById(“firstName”).focus();})Hi@mudasserajaz,当我使用您的指令时。不管指令是真是假,它都会将焦点放在任何一个输入上。嘿@DeanGrobler我已经更新了html。您现在可以从控制器控制disableFlag。@MudasserAjaz,您的解决方案在我的浏览器中运行良好,但在iOS中,既不能在文本框中聚焦,也不能打开键盘。它对您有效吗?对我有效,但您需要在config.xml中添加以下内容:``
angular.module('app').directive('focusMe',['$timeout',function ($timeout) {
  return {
    link: function (scope, element, attrs) {
      if (attrs.focusMeDisable === "true") {
        return;
      }
      $timeout(function () {
        element[0].focus();
        if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
          cordova.plugins.Keyboard.show(); //open keyboard manually
        }
      }, 350);
    }
  };
}]);
<input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName" focus-me focus-me-disable={{disableFlag}}>