Когда вы используете модификатор .autocomplete () в jquery-ui, он устанавливает обработчик нажатия клавиш для вашего текстового поля ввода следующим образом.Self.menu.select устанавливает для текстового поля текущее выделенное значение в списке автозаполнения
.bind( "keydown.autocomplete", function( event ) {
...
switch( event.keyCode ) {
...
case keyCode.TAB:
if ( !self.menu.active ) {
return;
}
self.menu.select( event );
break;
...
}
}
Итак, вам нужно убедиться, что этот обработчик не вызывается.Я смог сделать это, добавив обработчик к нажатию клавиши, который возвращает ложное значение из обработчика, если нажатие клавиши TAB .
$( "#tags" ).autocomplete({
source: availableTags
});
$("#tags").keypress(function(e){
if(e.keyCode == keyCode.TAB) {
e.stopImmediatePropagation();
}
});
Результат можно увидеть здесь.