何か間違ったことをしているような気がしますが、この動作は奇妙に思えます。コントローラーのデータに基づいてテーブルを動的に作成します。テーブル内のセルの 1 つに文字を入力すると、すぐに次のセルにフォーカスが移動し、そこにも文字が追加されます。
jsfiddle で問題を再現する非常に単純な例があります。
http://jsfiddle.net/rgaskill/Aksec/15/
<div ng-app="miniapp">
<div ng-controller="Matrix">
<h1>Enter a value in the fist cell.</h1>
<table>
<thead>
<tr>
<th>Row Name</th>
<th>0</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="(row, values) in valueMap">
<td>{{row}}</td>
<td ng-repeat="(col, val) in values" ><input type="text" ng-model="valueMap[row][col]"></input></td>
</tr>
</tbody>
</table>
</div>
</div>
var app = angular.module('miniapp', []);
function Matrix($scope) {
$scope.valueMap = {
aRow: {
'0': '',
'1': '',
'2': '',
'3': '',
'4': '',
'5': ''
}
};
}
この奇妙な動作の原因は何ですか?