【发布时间】:2016-10-19 14:08:18
【问题描述】:
在我的 AngularJS/Ui-Router 应用程序中,我有一系列这样的输入框:
<input ng-model="vm.filter" ng-keyup="vm.onKeyUp($event)" type="text" class="form-control" id="filter">
然后我有一个控制器,我在其中放置了onKeyUp 函数,如下所示:
var vm = this;
vm.onKeyUp = function (e) {
var val = e.currentTarget.value;
$state.go('aState', { 'filter': val });
}
这将触发状态更改(实际上只是更改了状态参数filter),它将在后台调用resolve,在流程结束时,我的数据集被过滤并显示子集。太棒了。
但是有一个小问题:在状态改变时,HTML 输入失去了焦点,我不知道如何在流程结束时将其设置为焦点。 这是必要的,因为用户开始在输入框中书写,然后当他的焦点“神秘地”丢失时会感到惊讶。糟糕的用户界面体验。
【问题讨论】:
-
Element.focus();应该在代码末尾将元素重新聚焦...
-
我认为这可能就足够了,但这不起作用......
标签: javascript jquery angularjs angular-ui-router