Angular - 将焦点放在动态创建的输入字段上

use*_*694 5 javascript angularjs

如何将焦点添加到新创建的字段?见到目前为止的例子:http://jsfiddle.net/aERwc/165/

$scope.addField = function() {console.log('hi');
    $scope.fields[$scope.keyToAdd] = $scope.valueToAdd;
    $scope.setFieldKeys();
    $scope.keyToAdd = '';
    $scope.valueToAdd = '';
}
Run Code Online (Sandbox Code Playgroud)

vit*_*ore 3

您可以使用这种方法,但是需要将动画添加到您的 ng-repeat 中。参见ng-repeat 动画完成回调

基本上在回调调用中element.focus()

.animation('.repeat-animate', function () {
  return {
    enter: function (element, done) {
      element.hide().show(100, function(){
        var scope = element.scope();
        scope.$evalAsync(function(){ 
          element.find(':last')[0].focus();
        }); 
      });
    }
  };
});
Run Code Online (Sandbox Code Playgroud)

更新的 CODEPEN:http://codepen.io/ev-tt/pen/BNXBmd ?editors=101