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>
我希望它能帮助。
谢谢,只是一个问题$超时是什么? –
最后一个问题,我试图在2个输入中应用,唯一的第一个焦点应用,是否有一个原因?例如:$超时(函数(){ VAR searchInputFirst =的document.getElementById( 'FIRST_VALUE'); VAR searchInputSecond =的document.getElementById( 'SECOND_VALUE'); searchInputFirst.focus(); searchInputSecond.focus(); },0); –
** 1。问题:**'$ timeout'只是一个设置延迟做某事的服务,你可以在文档中获得更多解释:https://docs.angularjs.org/api/ng/service/$timeout。另一方面,这里是无用的,除非你想稍微延迟一些时间来设定焦点。 **第2位。问题:**你一次只能关注一个元素。 – developer033