2016-01-03 93 views
0

我有一個html輸入字段,並希望保持專注於它無論發生什麼事。我知道如何用JQuery實現它,但我只想嵌入它,如果我真的需要。我的代碼示例不起作用。在AngularJS模糊事件後重新對焦輸入字段

我對代碼的想法至今:

HTML

<input type="text" ng-blur="refocus()" autofocus> 

AngularJS(我的控制器內)

$scope.refocus = function($scope, $element) { 
    $element.focus(); 
}; 

我希望你們有正確的靈感或更好的解決方案來解決這個:)

回答

2

您可以通過以下指令保留一個元素:

angular.module('test', []).directive('stayFocused', function(){ 
 
    return { 
 
    link: function($scope, $element){ 
 
     $element.on('blur', function(){ 
 
     $element[0].focus(); 
 
     }); 
 
    } 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 

 
<div ng-app="test"> 
 
    First 
 
    <input type="text" stay-focused="" autofocus> 
 
    <br /> 
 
    Second 
 
    <input type="text" stay-focused="" autofocus> 
 
</div>

+0

真棒,這就是我一直在尋找! :) 謝謝 – nipeco