Есть ли способ использовать плагины bootstrap 3.0 с jQuery.noConflict()?
В настоящее время мы загружаем 2 разные версии jQuery на нашу страницу, 1.4.2 и 1.10.1.
Объекты $и window.jQuery в настоящее время указывают на 1.4.2.
Мы используем noConflict() с версией 1.10.1, чтобы установить его в $jq1:
var $jq1 = jQuery.noConflict(true);
Есть ли способ получить плагины Bootstrap 3.0 для автоматического использования $jq1 вместо $или window.jQuery?
Ответы
Ответ 1
Если вы загрузите загрузку JS прямо после загрузки jQuery версии 1.10.1, а затем переместите jQuery в режим отсутствия конфликта, он должен работать.
например:.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!-- Load any Bootsrap JS files before calling jQuery.noConflict() -->
<script src="bootstrap.js"></script>
<script>
// Put jQuery 1.10.2 into noConflict mode.
var $jq1 = jQuery.noConflict(true);
</script>
<!-- This can be before or after the above -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
jQuery.noConflict(true)
переназначает как $
, так и jQuery
их предыдущие значения, поэтому не имеет значения, загружена ли версия 1.4.2 или нет.
Это означает, что ваши пользователи будут загружать jQuery дважды, и вам нужно будет запомнить, использовать ли $jq1
или $
, когда что-либо делаете с jQuery.
Ответ 2
Сначала загрузите более старую версию JQuery.
Тогда ваш Boostrap js, css everthing идет сюда.
Наконец добавьте это.,
<script type="text/javascript">
var $versionNumberJ1 = jQuery.noConflict(true);
</script>
Затем используйте так:.
<script>
$versionNumberJ1 ( function() {
$versionNumberJ1 ( "#tabsModal" ).tabs();
} );
</script>
Ответ 3
Мне понравилось объяснение, что пользователь "ajpiano" предоставил https://forum.jquery.com/topic/multiple-versions-of-jquery-on-the-same-page:
<script src='jquery-1.3.2.js'></script>
<script>
var jq132 = jQuery.noConflict();
</script>
<script src='jquery-1.4.2.js'></script>
<script>
var jq142 = jQuery.noConflict();
</script>