【问题标题】:AngularJS - Focus on object in nested scrollAngularJS - 专注于嵌套滚动中的对象
【发布时间】:2016-10-07 12:41:08
【问题描述】:

所以我正在尝试基于键输入获得嵌套滚动焦点。为此,我使用了ng-focus,但我似乎误解了它的用途。

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

【问题讨论】:

    标签: javascript jquery css angularjs focus


    【解决方案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
                }
            }
        });
    }
    

    【讨论】:

    • 有点。我已经更新了您的小提琴jsfiddle.net/wjtz8xhr/13,以便它可以找到我们正在寻找的项目。一件奇怪的事情是,当你第一次这样做时,它可以工作,如果你输入的数字小于第一个数字,它就不能正确显示
    • 对不起,我没听懂你的意思,但我给你的例子很完美,你可以找到你要找的项目
    猜你喜欢
    • 1970-01-01
    • 2017-04-15
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多