2016-10-07 4 views
0

キー入力に基づいてネストされたスクロールフォーカスを取得しようとしています。このため私はng-focusを使用しましたが、私はそれが誤解されているようです。AngularJS - ネストされたスクロールのオブジェクトにフォーカスする

このJSFiddleはこれまでのことを示しています。一致が見つかるたびにng-focus="x._focus"をtrueに設定し、コンソールログにこれが起こっていることを示します。しかし、スクロールは、inputフィールドにフォーカスが移動されません。それはどうですか?

答えて

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 
      } 
     } 
    }); 
} 
+0

やや望むものであるなら、私に知らせていませんでした。私はあなたが探しているアイテムを見つけることができるようにあなたのフィドルhttp://jsfiddle.net/wjtz8xhr/13/を更新しました。 1つの奇妙なことは、あなたが最初にそれを動作させたときに動作することです。最初のものより少ない数字を入力すると、正しく表示されません。 –

+0

申し訳ありませんが、私はあなたを理解していませんでした。 exempleは完璧に動作し、探している商品を見つけることができます – Diptox

関連する問題