<input> ng-repeat 中的元素在编辑输入后没有获得焦点

<input> elements in ng-repeat don't get focused after editing input

我正在实施 editable table。我在网络上的所有教程中都观察到相同的错误。如果你有 2 个 editables,你改变其中一个。在那之后你不能集中另一个。您必须单击两次。

这是其中一个教程: http://www.codelord.net/2014/05/10/understanding-angulars-magic-dont-bind-to-primitives/

这是来自它的 jsfiddle:

jsfiddle with a bug

这是控制器代码:

<div ng-controller="bookCtrl">
    <div ng-repeat="tag in book.tags track by $index">
        <input type="text" ng-model="book.tags[$index]"/>
    </div>

    My tags are <b>really</b>: {{ book.tags }}
</div>

请注意,track by 在这里没有帮助。教程中的所有三个示例(以及许多其他示例)都有这个问题。

我该如何解决这个问题?

更新:我在 chrome 47,在 firefox 中也观察到同样的情况。 更新 2:我已上传 video,错误并未 100% 重现,但最后一次鼠标单击表明存在问题。我的鼠标很好用!

HTML:

<div ng-controller="bookCtrl">
  <div ng-repeat="tag in book.tags track by $index">
    <input type="text" ng-model="book.tags[$index]" ng-focus="selectText($event)" />
  </div>

  My tags are <b>really</b>: {{ book.tags }}
</div>

将此添加到控制器:

    $scope.selectText = function($event) {
      $event.target.select();
    };