#jquery #jquery-plugins
#jquery #jquery-плагины
Вопрос:
Я получаю действительно странную ошибку, которую я не смог локализовать / узнать, откуда она исходит. Firebug сообщает:
Ошибка: $ («#dialog»).jqm не является источником функции:
http://www.daniello.nstrefa.pl/scripts/jquery.init.js
Строка: 3
Файл jquery.modal.js загружается, и даже если я помещу его содержимое внутрь jquery.init.js Я получаю ту же ошибку. Может ли эксперт взглянуть на это и написать, что не так?
Комментарии:
1. Да, это будет добавлено строкой раньше. Также, если я добавлю
console.log($("#dialog"));
, я получу элемент.
Ответ №1:
Вы загружаете jQuery дважды (ну, на самом деле, три раза). После jQuery.init.js
добавления дополнительных функций плагина к jQuery
объекту jQuery загружается снова, заменяя старый объект новым без плагина.
Ответ №2:
Ваша проблема связана не с плагином, а с предыдущей ошибкой в checkForm()
функции
//...
if (siw amp;amp; siw.selectingSomething)
//...
Ответ №3:
Хм, у вас много чего происходит на этой странице. Похоже, что происходит то, что элемент #dialog создается после вызова $ («#dialog»).jqm. Я думаю, вам следует подумать о проведении некоторого рефакторинга. Прежде всего, убедитесь, что у вас есть только один jquery.js ссылка. Я бы также убедился, что она находится над другими вашими библиотеками jquery (поищите рекомендации Стива Соудерса — погуглите его) и внизу вашей страницы (перед / body). Функция, которая создает #dialog (где бы это ни было), должна делать это где-то в document.ready.