JQuery UI автозаполнение привязки нового космического события

0

Я хотел бы, чтобы автозавершение jquery автоматически завершилось, чтобы выбрать первый элемент в списке, а затем на пробел выберите этот элемент, а затем введите или нажмите. Должен ли я добавить код в файл jquery ui java script или есть способ добавить еще одно событие для этого пространства.

Благодарю вас в передовой Мэтью

  • 1
    Как насчет проверки нажатия клавиши для пробела? В документации вы можете прочитать о написании собственных функций выбора, если я правильно помню.
  • 0
    Да, я все готовлюсь к этому, я дам вам лучшее решение, которое я найду.
Теги:
jquery-ui-autocomplete

1 ответ

0
Лучший ответ

Вы должны изменить код компонента ui.autocomplete (не рекомендуется, лучше создать новый), вам нужно изменить "keyCode.ENTER" на "keyCode.SPACE" в следующей строке:

case keyCode.ENTER:
                    // when menu is open and has focus
                    if ( this.menu.active ) {
                        // #6055 - Opera still allows the keypress to occur
                        // which causes forms to submit
                        suppressKeyPress = true;
                        event.preventDefault();
                        this.menu.select( event );
                    }
                    break;

если вы хотите, чтобы обе клавиши (ввод и пробел) работали, вам нужно только написать:

case keyCode.SPACE:
case keyCode.ENTER:

Чтобы получить первый выбранный элемент, вам нужно добавить "автофокус: истина":

$( "#autocomplete" ).autocomplete({autoFocus: true,
  source: whatever
});

Здесь вы можете увидеть, как он работает:

http://jsfiddle.net/et86N/4/

Здесь у вас есть версия, где я создаю новый компонент под названием "ui.autocompletespace", который зависит от jqueryui:

http://jsfiddle.net/52Csh/1/

Подробнее о компоненте здесь:

http://api.jqueryui.com/autocomplete/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню