我使用的是ui select,当用户点击远离输入时,我想选择列表中的第一个选项(即ui select搜索上的模糊事件)。当前,选择框保持打开状态,直到用户签出或做出选择。
您可以向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,您需要以不同的方式选择输入)