有没有办法使用jQuery.noConflict()的bootstrap 3.0插件?

时间:2013-10-24 17:54:52

标签: javascript jquery twitter-bootstrap twitter-bootstrap-3

我们目前正在页面上加载2个不同版本的jQuery,1.4.2和1.10.1。 $和window.jQuery对象当前指向1.4.2。

我们使用版本1.10.1的noConflict()将其设置为$ jq1:

var $jq1 = jQuery.noConflict(true);

有没有办法让Bootstrap 3.0插件自动使用$ jq1而不是$或window.jQuery?

3 个答案:

答案 0 :(得分:21)

如果在加载jQuery版本1.10.1之后直接加载引导程序JS,然后将jQuery置于无冲突模式,它应该可以工作。

e.g:

<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,你需要记住在使用jQuery做任何事情时是否使用$jq1$

答案 1 :(得分:1)

我喜欢用户&#34; ajpiano&#34;在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>

答案 2 :(得分:0)

首先加载旧版本的Jquery。

然后你的Boostrap js,css everthing就在这里。 最后加上这个。,

<script type="text/javascript">
    var $versionNumberJ1 = jQuery.noConflict(true);
</script>

然后,像这样使用。,

<script>
  $versionNumberJ1 ( function() {
    $versionNumberJ1 ( "#tabsModal" ).tabs();
  } );
  </script>