AngularJS - 专注于嵌套滚动中的对象

时间:2016-10-07 12:41:09

标签: javascript jquery css angularjs focus

所以我试图根据键输入设置嵌套滚动焦点。为此,我使用了ng-focus,但我似乎误解了它的目的。

JSFiddle显示了我到目前为止所做的工作。每当找到匹配项时,我将ng-focus="x._focus"设置为true,并在控制台日志中显示这种情况正在发生。但是不会移动滚动条以使input字段成为焦点。那怎么样?

1 个答案:

答案 0 :(得分:1)

嘿,我真的不明白你想要什么,但检查一下,让我知道这是否是你想要的jsFiddle

function MyCtrl($scope) 
{
    $scope.list = []

    for(var i = 0; i < 500; i++){
        $scope.list.push({
        number: i,
        _focus: false
      })
    }

    $(document).keypress(function(e) 
    {
        for(var i = 0; i < $scope.list.length; i++)
        {
            if($scope.list[i].number === e.keyCode)
            {
                $scope.list[i]._focus = true
                console.info('found : ', $scope.list[i])
                $scope.$apply(); // Apply changes and change the false to true in dom

                $('#nestedScroll').animate(
                {
                    scrollTop: $("#nestedScroll span[scrollTo='true']").offset().top
                }, "slow");

                return
            } else {
                $scope.list[i]._focus = false
            }
        }
    });
}