2016-11-08 2 views
14

Я изменил свой jQuery 1.7.2 на 3.1.1 и изменил интерфейс jQuery с версии 1.8.16 на версию 1.12.1.Можно ли использовать jQuery UI 1.12.1 с jQuery 3.x?

Очень немногие из моих существующих JS вещи сломала, как стиль кнопок, и dialog ведет себя неожиданным образом, то есть половина модального диалога прикрыто таинственной <div class="ui-widget-overlay ui-front"></div>

Я подозревал, JQuery UI, чтобы быть в вине из-за покрытия выше. Я пошел на сайт jQuery UI, и я вижу, что стабильная версия для jQuery 1.7+.

Означает ли это, что я должен использовать jQuery 1.x с пользовательским интерфейсом jQuery, или я могу использовать jQuery 3.x в порядке (плюс ... попытаться выяснить, почему мой стиль и функциональность сломались)?

+1

ли вы изменить и JQuery-UI CSS И JS-файлы? Вы обновили (& clear cache)? – Dekel

+0

Вы обновили код, чтобы учесть все разрывные изменения между 1.8.16-> 1.12.1 и все изменения между 1.7.2 и 3.1.1? –

+0

@Dekel, не знал о jQuery-ui CSS ... посмотрит. Кевин: нет, ничего не принимал во внимание. – Dennis

ответ

11

jQueryUI поддерживает следующие jQuery версии с увеличенной дальностью

"dependencies": { 
    "jquery": ">=1.7.0 <4.0.0" 
}, 

Я бы сказал, что вы хорошо идти

Источник: https://github.com/jquery/jquery-ui/blob/master/package.json#L53

Это может быть то, что вы видите много сломанные компоненты, потому что либо вы не импортируете их CSS, либо вы переопределяете их CSS

0

Можете ли вы использовать jQuery-UI с jQuery 3.2.1?

Imho вы не можете без серьезных проблем. См. Приведенный ниже пример.

Предположим следующую конфигурацию:

  • JQuery 3.2.1 (CDN)
  • JQuery UI 1.12.1 (CDN)
  • обнаружения JQ Мигрировать 3.0.0 для обнаружения ошибок.

я получаю следующие ошибки:

  • jQuery.expr [ ":"] теперь jQuery.expr.pseudos в Jquery-ui.min.js
  • jQuery.expr.filters является Теперь jQuery.expr.pseudos в запросе-ui.min.js
  • jQuery.unique устарела, используйте jQuery.uniqueSort
+0

Это скорее предупреждения, чем ошибки, и все работает так, как ожидалось. Странно, что пользовательский интерфейс jQuery не использует последний синтаксис jQuery. – chris22smith