Я использую автозаполнение JQuery UI для целого ряда текстовых полей моего проекта Backbone.js. Библиотеки загружаются в правильном порядке, как следует,
define(['jquery','jquery-ui.min','jquery.ui.touch-punch']);
Функция автозаполнения вызывается, например, так:
$("#channelRspm").autocomplete({
minLength: 3,
delay: 1000,
source: function(request, response) {
var results = $.ui.autocomplete.filter(channel, request.term);
response(results.slice(0, 10));
}
});
Проблема заключается в том, что поведение автозаполнения очень случайным. При запуске источника в браузере Chrome иногда работает безупречно. Тем не менее, иногда я получаю ошибку в консоли:
Uncaught TypeError:. $ (...) автозаполнения не является функцией
Обновление HTML обычно делает его работу еще раз, но потом, что это не то, что я хочу. Может ли кто-нибудь предложить мне, куда я иду?
Похоже, пользовательский интерфейс библиотеки Jquery не загружается – epascarello
Когда вы называете 'autocomplete'? В документе. Уже? Поскольку документ должен быть готов с полной загрузкой jQuery ui. –
Да, «автозаполнение» вызывается в документе document.ready(). Загрузка исходного json-массива и вызов автозаполнения в источнике, происходят внутри document.ready(). –