使用jQuery autocomplete,是否有可能使第一项自动突出显示,并在用户点击输入时填写,但不是当他们退出时输入(输入失去焦点)?
我发现的最接近的是this,但是会在失去焦点时自动填充。
答案 0 :(得分:1)
我认为通过扩展 $.ui.autocomplete
和覆盖 _suggest
方法,我有一个可行的解决方案 - 不会破坏现有行为。
$.widget('ui.myAutocomplete', $.extend({}, $.ui.autocomplete.prototype, {
_suggest : function(items) {
// Call ui.autocomplete's parent method
$.ui.autocomplete.prototype._suggest.call(this, items);
// Find the first list item
var item = this.menu.element.children()[0];
// Make this item active.
// An event is expected so a fake one is passed as a parameter.
this.menu.activate(new jQuery.Event('null.event'), $(item));
}
}));
您现在可以像$.ui.myAutocomplete
一样使用新的子类$.ui.autocomplete
$(function() {
var source = [
'test 1'
,'test 2'
,'test 3'
];
$('#selector')
.myAutocomplete({
source : source
});
});