专注于输入领域

时间:2016-06-28 11:54:30

标签: javascript angularjs ionic-framework

模板是带有2个标签的'标签'。在第一个标签上,我有一个我想关注的input字段。当应用程序以焦点input字段开始时,它正在工作,但当我切换到第二个选项卡然后再返回第一个选项卡时,输入失去焦点。

当我从第2页到第1页时,我希望它能够集中注意力。当我在元素外部单击时,它也会失去焦点。我实际上希望input字段始终关注。

我尝试了一些已经提到的解决方案:

.directive('focusMe', function($timeout) {
  return {
    scope: { trigger: '=focusMe' },
    link: function(scope, element) {
      scope.$watch('trigger', function(value) {
        if(value === true) { 
          //console.log('trigger',value);
          //$timeout(function() {
            element[0].focus();
            scope.trigger = true;
          //});
        }
      });
    }
  };
});


<label class="item item-input" focus-me>  
  <input type="number" class="somett" ng-model="code" ng-model-options="{ debounce: 100 }" placeholder="Ready" ng-change="load(code) " focus-on="focusTextInput"  autofocus>
</label>

1 个答案:

答案 0 :(得分:1)

您可以使用View LifeCycle and Events

将此添加到您的控制器。

$scope.$on('$ionicView.enter', function() {
  $scope.$broadcast("focusTextInput");
});