seting focus angucomplete-alt

问题描述:

我正在使用指令angucomplete-alt,我正面临一个问题,即在页面加载时将注意力集中在输入上,但我不知道如何去做以及解决方案如何发现似乎很哈克。seting focus angucomplete-alt

示例代码:

<angucomplete-alt id="ex2" 
       placeholder="Search people" 
       pause="300" 
       selected-object="selectedPerson" 
       local-data="people" 
       local-search="localSearch" 
       title-field="firstName,surname" 
       description-field="twitter" 
       image-field="pic" 
       minlength="1" 
       input-class="form-control form-control-small" 
       match-class="highlight" /> 

好了,我不知道这个指令,但似乎你不能将焦点设置输入没有一些哈克。我在他们的github上进行了一些搜索,我发现那里有相同的issue,并且有可能解决您的问题的解决方案。

这里是一个片段的工作:

var app = angular.module('app', ['angucomplete-alt']); 
 

 
app.controller('mainCtrl', function($scope, $timeout) { 
 
    $timeout(function() { 
 
    var searchInput = document.getElementById('ex2_value'); 
 
    searchInput.focus(); 
 
    }, 0); 
 
});
<!DOCTYPE html> 
 
<html ng-app="app"> 
 

 
<head> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/2.4.1/angucomplete-alt.min.js"></script> 
 
</head> 
 

 
<body ng-controller="mainCtrl"> 
 
    <angucomplete-alt id="ex2" 
 
      placeholder="Search people" 
 
      pause="300" 
 
      selected-object="selectedPerson" 
 
      local-data="people" 
 
      local-search="localSearch" 
 
      title-field="firstName,surname" 
 
      description-field="twitter" 
 
      image-field="pic" 
 
      minlength="1" 
 
      input-class="form-control form-control-small" 
 
      match-class="highlight" /> 
 
</body> 
 

 
</html>

我希望它能帮助。

+0

谢谢,只是一个问题$超时是什么? –

+0

最后一个问题,我试图在2个输入中应用,唯一的第一个焦点应用,是否有一个原因?例如:$超时(函数(){ VAR searchInputFirst =的document.getElementById( 'FIRST_VALUE'); VAR searchInputSecond =的document.getElementById( 'SECOND_VALUE'); searchInputFirst.focus(); searchInputSecond.focus(); },0); –

+0

** 1。问题:**'$ timeout'只是一个设置延迟做某事的服务,你可以在文档中获得更多解释:https://docs.angularjs.org/api/ng/service/$timeout。另一方面,这里是无用的,除非你想稍微延迟一些时间来设定焦点。 **第2位。问题:**你一次只能关注一个元素。 – developer033