2015-02-07 150 views
0

我需要包含prototype.js和jQuery,但是由於一些衝突,這會導致我的bootstrap-select.js混亂。JQuery和Prototype.js衝突

在選擇列表中選擇一個選項後,它將消失。

我包括這些js文件:

jquery-2.1.0.min.js 
bootstrap-select.min.js 
prototype.min.js 

這在<head>部分:

var $j = jQuery.noConflict(); 

$j(document).ready(function($) { 
    $j('.selectpicker').selectpicker(); 
}); 

和HTML:

<select class="selectpicker"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 

見小提琴這裏:http://jsfiddle.net/0vh03tnn/1/

+0

請在您的問題中包含相關代碼,而不僅僅是通過外部資源。這是StackOverflow的規則。 – jfriend00 2015-02-07 20:43:41

+0

你解決了這個問題嗎?我也包括原型,jQuery,noConflict,Bootstrap和Bootstrap選擇。當我禁用原型bootstrap時,選擇效果很好。 (儘管Bootstrap本身沒有問題)。 – 2016-06-17 15:42:56

回答

0

嘗試顛倒事物的順序。首先包含Prototype,然後包括jQuery,然後用jQuery.noConflict()包含您的塊,最後包含引導腳本。我理解noConflict的方式是這樣的:無論$綁定到什麼地方,記住它,然後創建一個jQuery對象和一個新的,不受限制的$在該對象內部,最後從$開始的時候返回$到全局範圍。按照你在這裏的順序,在noConflict做它的事情的時刻,$可能不指向Prototype $函數。