簡體   English   中英

有沒有辦法使用jQuery.noConflict()的bootstrap 3.0插件?

[英]Is there a way to use bootstrap 3.0 plugins with jQuery.noConflict()?

我們目前正在頁面上加載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?

如果在加載jQuery版本1.10.1后直接加載引導程序JS,然后將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,你需要記住在使用jQuery做任何事情時是否使用$jq1$

我喜歡https://forum.jquery.com/topic/multiple-versions-of-jquery-on-the-same-page提供的用戶“ajpiano”的解釋:

<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>

首先加載舊版本的Jquery。

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

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

然后,像這樣使用。,

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM