Извините, у меня нет простого ответа на ваш вопрос, я проверил исходный код плагина и не нашел никакого механизма, который позволил бы вам хотеть этого. Я думаю, вам придется обновить этот плагин самостоятельно, чтобы он работал так, как вы хотите.
Идея состоит в том, чтобы добавить ваши обратные вызовы к параметру options
и затем заставить плагин использовать эти обратные вызовы. Сначала вам нужно изменить код плагина. Перейдите к функции, которая создает класс, отвечающий за отображение / скрытие элемента управления автозаполнения:
$.Autocompleter.Select = function (options, input, select, config) {
Если вы прокрутите вниз, вы увидите, что эта функция возвращает объект с методами show()
и hide()
. Вы можете добавить следующий код:
hide: function() {
...
options.showCallback && options.showCallback(); // Invoke callback function if set
},
...
show: function() {
...
options.hideCallback && options.hideCallback(); // Invoke callback function if set
},
Наконец, когда вы создаете автозаполнение, вы должны добавить ваши обратные вызовы к вашим опциям:
$("#myTextBox").autocomplete("http://...",
{
showCallback : function() { /* do what you want here */ },
hideCallback : function() { /* do what you want here */ }
});
Не тестировался вообще, это просто быстрое и грязное решение. Надеюсь, это поможет.