gpt4 book ai didi

javascript - Angular 1.x 对输入字段的关注仅有效一次

转载 作者:行者123 更新时间:2023-11-28 04:04:08 25 4
gpt4 key购买 nike

我在网络/移动应用程序上有一个搜索页面,其中有一个字段。当我们进入页面时,焦点必须设置在该字段上,以便用户可以简单地开始输入。我创建了一个指令并将其链接到我的输入字段,但只有当我访问具有新缓存的页面时它才起作用。当您使用移动设备访问该页面时,键盘第一次出现,之后您会看到它出现并立即下降。看起来输入字段的焦点只有半秒。我已经尝试了这个问题的几种答案,但没有解决它。

指令:

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(); 在 Controller 中设置焦点但它有完全相同的问题。

关于如何在用户每次访问时强制将焦点集中在该字段上,有什么想法吗?

提前致谢!

最佳答案

如果输入需要聚焦,为什么需要focus-field='false'。如果我是您,我会简单地删除 $attr$watcher

link : function($scope,$element) {
$timeout(function() {
$element[0].focus();
}, 0);
};

然后去

<input focus-field type="search" />

关于javascript - Angular 1.x 对输入字段的关注仅有效一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46850560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com