我正在使用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则需要以其他方式选择输入)

07-24 18:20
查看更多