Я использую автозаполнение jQuery UI несколько иначе, чем оно, вероятно, было создано для этого.
В основном я хочу сохранить все те же функции, с той лишь разницей, что, когда появляется окно предложений, я не скрываю окно предложений, когда пользователь делает выбор, и я также не хочу, чтобы этот выбор заполнял поле ввода. который прикреплен к .autocomplete.
Итак, я прочитал документацию jQuery UI, и, похоже, есть способ отключить события Select: и Close :, но я считаю, что способ, которым они объяснили это, очень запутанный, и, следовательно, вот почему я Я прошу о помощи.
Мой jQuery
$( "#comment" ).autocomplete({
source: "comments.php",
minLength: 4,
// Attempt to remove click/select functionality - may be a better way to do this
select: function( event, ui ) {
return false;
},
// Attempt to add custom Class to the open Suggestion box - may be a better way
open : function (event, ui) {
$(this).addClass("suggestion-box");
},
// Attempt to cancel the Close event, so when someone makes a selection, the box does not close
close : function (event, ui) {
return false;
}
});
Официальная документация jQuery UI
Срабатывает при выборе элемента в меню; ui.item относится к выбранному элементу. По умолчанию действие select - заменить значение текстового поля значением выбранного элемента. Отмена этого события предотвращает обновление значения, но не предотвращает закрытие меню.
Примеры кода
Supply a callback function to handle the select event as an init option.
$( ".selector" ).autocomplete({
select: function(event, ui) { ... }
});
Bind to the select event by type: autocompleteselect.
$( ".selector" ).bind( "autocompleteselect", function(event, ui) {
...
});
Путаница
Что меня смущает, так это то, что они, кажется, предлагают удалить .autocomplete и заменить его на .bind ("autocompleteselect"), что полностью отключит автозаполнение?
Большое спасибо за любую помощь, которую вы можете оказать.