Плагин автозаполнения jQuery не фокусируется на следующем нажатом поле

Я использую плагин Jörn Zaefferer для автозаполнения jQuery, который отлично работает, за исключением за небольшую ошибку: если пользователь начинает печатать в одном поле, к которому привязано автозаполнение, но затем, пока подсказка все еще отображается, они нажимают на другое поле ввода, курсор возвращается обратно в поле с автозаполнением.

Есть ли какие-то решения для этого, или это в значительной степени работает? Я заметил, что автозаполнение пользовательского интерфейса jQuery делает то же самое.


person Darryl Hein    schedule 04.03.2009    source источник


Ответы (3)


Я был достаточно любезен, чтобы посмотреть код для вас, раскомментируйте эту строку:

// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
input.focus();

В jquery.autocomplete.js строке 583.

person Luca Matteis    schedule 04.03.2009
comment
Хех, нравится этот ответ лучше, чем первый :) - person Darryl Hein; 04.03.2009
comment
На самом деле, это комбинация вашего предыдущего ответа и этого. - person Darryl Hein; 04.03.2009

Исправление:

Закомментируйте строки 308-310 распакованной версии:

//if (wasVisible)
    // position cursor at end of input field
    //$.Autocompleter.Selection(input, input.value.length, input.value.length);

И из сообщения Луки закомментируйте строку 510:

//input.focus();

Они оба должны быть закомментированы, чтобы заставить его работать правильно.

person Darryl Hein    schedule 04.03.2009

Как насчет того, использует ли пользователь клавишу Enter или клавишу TAB? Как я могу запретить плагину устанавливать фокус в поле ввода? У вас это тоже работает или только когда пользователь использует мышь для выбора из выпадающего списка?

person Kim Andersen    schedule 13.10.2010