2016-07-16 18 views
0

私は指示文でテキストボックスを作成しており、最初のテキストボックスのみにフォーカスを当てたいとします。 私はフォーカスのための別のディレクティブを使用しています。フォーカスが角度の指示でテキストボックスに適用されない

<body data-ng-app="MyApp" data-ng-controller="myController"> 

<div data-text-box-directive="" data-efgh="true"></div> 
<div data-text-box-directive=""></div> 
<div data-text-box-directive=""></div> 
</body> 

私は一度myDirectiveのように真とundefined二回ログにまだ焦点を当てが上で適用されていないabcdの値を取得しています:これはhtmlです

<script> 
angular.module('MyApp',[]); 
angular.module('MyApp').controller('myController',myController); 
angular.module('MyApp').directive('myDirective',myDirective); 

angular.module('MyApp').directive('textBoxDirective',textBoxDirective); 

function myController() 
{ 

} 



function myDirective() 
{ 
    return{ 

     restrict: 'A', 
     scope:{ 
       abcd:'=' 
     }, 
      link : function(scope, $element) { 
       console.log(""+scope.abcd); 
       if(scope.abcd=='true'){ 
        $element[0].focus(); 
       } 


       } 
    }; 
} 

function textBoxDirective() 
{ 
    return{ 
     scope:{ 
      efgh:'@' 
     }, 
     restrict: 'A', 
     template: '<input type="text" data-my-directive="" data-abcd="efgh">' 

    }; 
} 

</script> 

:これはスクリプトです最初のテキストボックス。私はここで間違って何をしていますか?誰かが助けてくれますか?

答えて

0
$timeout(function() { 
    if($element && $element[0]){ 
    $element[0].focus(); 
    } 
}); 
関連する問題