一旦用户使用鼠标单击选择了一个选项并进入开始搜索,我需要从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>
答案 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();
});