如何在选择选项后从ui-select中删除焦点

时间:2016-02-25 10:55:45

标签: angularjs ui-select

一旦用户使用鼠标单击选择了一个选项并进入开始搜索,我需要从ui-select输入中删除焦点。现在发生的事情是焦点仍然存在于选择状态,因此在点击输入时打开下拉列表。

  <ui-select id= "country" ng-model="ctry" name= "country"  theme="bootstrap">
      <ui-select-match >{{text || $select.selected.id}}</ui-select-match>
          <ui-select-choices repeat="countryL in countryLookup | filter: $select.search">
             <div ng-bind-html="countryL.id | highlight: $select.search"></div>
                <small ng-bind-html="countryL.name | highlight: $select.search"></small>
       </ui-select-choices>

3 个答案:

答案 0 :(得分:6)

将on-select =“onSelected($ item)”添加到你的ui-select和控制器中:

$scope.onSelected = function (selectedItem) {
    setTimeout(function(){
        $(':focus').blur();
    })
}

或在控制器中使用$ timeout

答案 1 :(得分:1)

从版本v0.14.9开始,您可以将skip-focusser设置为true,以便在选择项目后跳过聚焦器。

答案 2 :(得分:1)

以下为我工作;

$timeout(function() {
    angular.element(document.activeElement).blur();
});

$timeout(function() {
    angular.element($document[0].activeElement).blur();
});