2

我正在使用 ui-select,并且希望在用户单击离开输入时选择列表中的第一个选项(即 ui-select-search 上的模糊事件)。目前,选择框保持打开状态,直到用户退出或做出选择。

4

1 回答 1

7

您可以像这样向 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,您需要以不同的方式选择输入)

于 2015-08-11T16:45:31.770 回答