<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:
这是控制器代码:
<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();
};
我正在实施 editable table。我在网络上的所有教程中都观察到相同的错误。如果你有 2 个 editables,你改变其中一个。在那之后你不能集中另一个。您必须单击两次。
这是其中一个教程: http://www.codelord.net/2014/05/10/understanding-angulars-magic-dont-bind-to-primitives/
这是来自它的 jsfiddle:
这是控制器代码:
<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();
};