【发布时间】:2017-10-20 22:42:33
【问题描述】:
我在具有字段的网络/移动应用程序上有一个搜索页面。当我们进入页面时,必须在该字段上设置焦点,以便用户可以简单地开始输入。我创建了一个指令并将其链接到我的输入字段,但它仅在我访问带有新缓存的页面时才有效。当您使用移动设备访问该页面时,键盘第一次出现,然后您会看到它出现并立即下降。似乎输入字段的焦点只有半秒钟。对于这个问题,我尝试了几个答案,但都没有解决它。
指令:
app.directive('focusField',function($timeout) {
return {
link : function($scope,$element,$attr) {
$scope.$watch($attr.focusField,function(val) {
$timeout(function() {
val ? $element[0].focus() :
$element[0].blur();
});
});
}
}});
HTML:
<input id="search-field" class="form-control" ng-model="searchText" placeholder="Search interviews..." focus-field='true' />
我还尝试使用 $('#search-field').focus(); 在控制器中设置焦点但它有完全相同的问题。
关于如何在每次用户访问时强制将焦点集中在该字段上的任何想法?
提前致谢!
【问题讨论】:
标签: javascript jquery html angularjs