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/).

Спасибо за помощь ребята!

Другие вопросы по тегам