Бутстрап и конфликт jQueryUI

Я пытаюсь использовать tooltip в представлении, который ссылается как на jQueryUI, так и на Bootstrap 3. Я сделал образец здесь. Если я загружу Boostrap после jQueryUI js, вызов tooltip() будет успешным, но если я вызову jQueryUI после Bootstrap, тогда я получу ошибку и ничего не получится. Вы можете попробовать это самостоятельно. Об этом в интернете много говорится, и я спросил у GitHub, но пока не нашел решения.

Ответ 1

Идеальное решение - взять QueryUI без подсказки. Это сработает. Если вы не хотите этого делать, пожалуйста, включите Bootstrap после JQueryUI. Убедитесь, что у вас есть уникальные компоненты от каждого (вы можете настраивать обе библиотеки с необходимыми компонентами)

У Bootstrap есть способ для reset любого компонента, например:

var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton            // give $().bootstrapBtn the Bootstrap functionality

Вышеприведенный код будет работать, когда загрузочная загрузка будет загружена после JQueryUI

Ссылка: http://getbootstrap.com/javascript/

Вот соответствующий код из Bootstrap:

  var old = $.fn.tooltip

  $.fn.tooltip = function (option) {
    ....
  }


  $.fn.tooltip.noConflict = function () {
    $.fn.tooltip = old
    return this
  }

Ответ 2

Вместо включения jquery-ui.js, включите отдельные библиотеки по мере необходимости и оставьте подсказку jquery-ui.

Например, если все, что вам нужно, это сортировка jquery-ui, то используйте это:

<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/jquery-ui/ui/core.js"></script>
<script src="bower_components/jquery-ui/ui/widget.js"></script>
<script src="bower_components/jquery-ui/ui/mouse.js"></script>
<script src="bower_components/jquery-ui/ui/sortable.js"></script>

Ответ 3

самое простое решение - сначала поместить jquery-ui.js, а затем bootstrap-datepicker.js. это работает для меня.