我正在使用ui-select,并且希望在用户单击远离输入的位置时(即ui-select-search上的模糊事件)选择列表中的第一个选项。当前,选择框保持打开状态,直到用户退出或做出选择为止。
最佳答案
您可以向ui-select元素添加另一个指令,如下所示:
<ui-select select-on-blur ...
然后像这样实现:(“ if”是从_handleDropDownSelection方法复制的)
.directive('selectOnBlur', function() {
return {
require: 'uiSelect',
link: function(scope, elm, attrs, ctrl) {
elm.on('blur', 'input.ui-select-search', function(e) {
if(ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)){
ctrl.select(ctrl.items[ctrl.activeIndex]);
}
e.target.value = '';
});
}
};
})
(注意:这仅适用于jquery,没有jquery则需要以其他方式选择输入)