jQuery UI $ .datepicker () не существует для Google Code CDN (работает локально) - PullRequest
3 голосов
/ 03 января 2012

Когда я ссылаюсь на файл пользовательского интерфейса 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.Я подтвердил, что мой локальный номер версии и номер версии Google CDN пользовательского интерфейса jQuery совпадают.Кто-нибудь достаточно знаком с Google CDN и jQuery UI, чтобы пролить свет на эту ситуацию?

1 Ответ

1 голос
/ 04 января 2012

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 слишком коротко", и jQuery Tools, и пользовательский интерфейс jQuery используют, например, .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/).

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

...