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