Angular指令在iPhone 4s上无法正常工作

时间:2015-10-19 18:34:36

标签: ios iphone angularjs ionic

我正在使用常用的离子指令将焦点设置为页面加载时显示离子键盘的textarea,除了iPhone 4s外,它在我测试过的每台设备上都能正常工作。

HTML

<textarea focus-me></textarea>

JS

.directive('focusMe', function($timeout) {
  return {
    link: function(scope, element, attrs) {
      $timeout(function() {
        element[0].focus();
      }),350;
    }
  };
});

在iPhone 4s上,当textarea失去焦点时,键盘会消失,然后向右弹回。这不会发生在任何其他设备上。

如何在页面加载(以及后续页面加载)时将焦点设置为textarea,并防止离子键盘在textarea失去焦点时弹回?

1 个答案:

答案 0 :(得分:1)

调用$timeout指令的代码中存在错误。它应该是:

.directive('focusMe', function($timeout) {
  return {
    link: function(scope, element, attrs) {
      $timeout(function() {
        element[0].focus();
      }, 350); // correct this
    }
  };
});