jQuery UI $.datepicker () не существует для Google Code CDN (работает локально)
Когда я ссылаюсь на файл пользовательского интерфейса jQuery, хранящийся на серверах Google со следующим кодом в моем:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
... и в моих сценариях $(document).ready ()
Я делаю следующее...
$("#date-processed").datepicker ({ dateFormat: 'M. dd, yy' });
Скрипт сломается для всех браузеров на этой странице. Причина в том, что он говорит "DatePicker" не существует как функция. Так что, если я захожу на http://jqueryui.com/download и загружаю пользовательскую библиотеку пользовательского интерфейса jQuery с UI Core и Datepicker и связываю этот файл вместо этого, она работает отлично.
Итак, чтобы поэкспериментировать, я скачал пользовательскую библиотеку jQuery UI с http://jqueryui.com/download со всем проверенным, затем я сделал Google CDN копию jQuery UI, и разница в размерах файлов составляет 7 КБ.
В большинстве учебных пособий и примеров Datepicker, которые я видел, люди используют копию CDN Google очень хорошо, поэтому я предполагаю, что это должно быть что-то, что я делаю неправильно, а не несоответствие со стороны Google. Я подтвердил, что мой локальный номер версии и номер версии CDN Google jQuery UI совпадают. Кто-нибудь достаточно знаком с Google CDN и jQuery UI, чтобы пролить свет на эту ситуацию?
1 ответ
Qorbani попросил, чтобы я использовал JSFiddle для публикации исходного кода, поэтому я поиграл с этим и обнаружил, что он работал, когда я использовал JSFiddle (http://jsfiddle.net/Znjvh/3/). Затем я понял, что проблема заключалась в том, что на странице я также использовал jQuery Tools и включил его после jQuery UI. Когда я переместил его выше jQuery UI, все работало нормально (http://jsfiddle.net/Znjvh/5/).
Я пошел, чтобы разобраться в конфликте между jQuery UI и jQuery Tools, и обнаружил, что стандартный URL-адрес для jQuery Tools, который я использовал, http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js, также включает в себя JQuery. Вероятно, в этом и был конфликт (хотя их могло быть и больше. Как указывало "mu is too short", как jQuery Tools, так и jQuery UI используют .tabs()
, например).
В любом случае, для других пользователей, которые сталкиваются с этим вопросом, если вы используете jQuery Tools и jQuery UI вместе, убедитесь, что вы включаете jQuery Tools, который также не включает jQuery. Я исправил это путем изменения URL-адреса на http://cdn.jquerytools.org/1.2.6/tiny/jquery.tools.min.js (http://jsfiddle.net/Znjvh/6/).
Спасибо за помощь ребята!