在我的项目中,我需要在网格加载后立即关注第一行ng-grid,当我按下向下键时它应该移动到下一行。我添加了以下事件:
$scope.$on('ngGridEventData', function (e,s) {
$scope.gridOptions.selectRow(0, true);
});
但是这个事件只选择第一行,它不会把焦点放在第一行。需要单击该行以获得焦点。为了获得焦点,我们需要编写什么附加声明?
答案 0 :(得分:5)
我在ng-grid的github repo上报告了它,并得到了解决方案。您可以在此处查看对话:https://github.com/angular-ui/ng-grid/issues/539
我们需要添加以下语句以将焦点集中到所选元素:
$(".ngViewport").focus();
答案 1 :(得分:2)
我能够专注于一个特定的细胞:
$($($(".ngCellText.col1.colt1")[0]).parent()).parent().focus();
.col1.colt1指的是第2列(.col0.colt0 - >第1列)
在这种情况下,我选择第一行,第二行将使用:
选择$($($(".ngCellText.col1.colt1")[1]).parent()).parent().focus();
有点hacky,但它确实有效。
答案 2 :(得分:1)
JQuery答案略有不同:
$('div[ng-row]').eq(2).find('.ageCell').focus()
首先找到您想要的行,在这种情况下找到第三行,然后使用列名称找到列,' age'在这种情况下。如果列更改或重新排序,它会更有弹性。