1

入力フィールドで ui-keypress ディレクティブを使用して、現在の (フォーカスされた) フィールドの下に新しい入力フィールドを作成する関数 newline() を適用します。問題なく動作しますが、この関数を更新して、フォーカスが新しく作成されたフィールドにジャンプするようにします。

ここに私のindex.htmlがあります:

<!doctype html>
<html ng-app="myApp">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js">                                                       
    </script>
    <script src="script.js"></script>
    <script src="keypress.js"></script>
  </head>

  <body ng-controller="TextCtrl">

    <div  ng-repeat="task in tasks track by $index">
      <input type="text" class="form-control" ng-model="task.text" ui-keypress="{13:'newline($index+1)'}" >
    </div>

  </body>

</html>

これは script.js です。

var myAppModule = angular.module('myApp', ['ui.keypress']);
myAppModule.controller('TextCtrl',function($scope){
var emptytask = '';
var tasks=[{text:'chart'}];
$scope.tasks = tasks;
$scope.newline = function(index){
    $scope.tasks.splice(index,0,{text:emptytask});
};
});
4

1 に答える 1