2015-02-07 139 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 $函数。