5

在我的项目中,我需要在网格加载后立即关注 ng-grid 的第一行,并且当我按下向下键时它应该移动到下一行。我添加了以下事件:

$scope.$on('ngGridEventData', function (e,s) {
    $scope.gridOptions.selectRow(0, true);
});

但是这个事件只是选择了第一行,它没有把焦点放在第一行。需要单击该行才能获得焦点。我们需要写什么额外的语句来获得焦点?

4

3 回答 3

6

我在 ng-grid 的 github repo 上报告了它并得到了解决方案。你可以在这里查看对话:https ://github.com/angular-ui/ng-grid/issues/539

我们需要添加以下语句以将焦点带到所选元素:

$(".ngViewport").focus();
于 2013-07-10T05:45:21.800 回答
2

我能够专注于执行此操作的特定单元格:

$($($(".ngCellText.col1.colt1")[0]).parent()).parent().focus();

.col1.colt1 指的是第二列(.col0.colt0 -> 第一列)

在这种情况下,我选择第一行,第二行将使用:

$($($(".ngCellText.col1.colt1")[1]).parent()).parent().focus();

这有点hacky,但它有效。

于 2013-09-28T18:04:53.073 回答
1

JQuery 答案的细微变化:

$('div[ng-row]').eq(2).find('.ageCell').focus()

这将首先找到您想要的行,在这种情况下是第三行,然后是使用列名的列,在这种情况下是“年龄”。如果列更改或重新排序,它会更有弹性。

于 2014-06-09T11:19:30.900 回答