JQuery和Prototype.js冲突
问题描述:
我需要包含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>
答
尝试颠倒事物的顺序。首先包含Prototype,然后包括jQuery,然后用jQuery.noConflict()包含您的块,最后包含引导脚本。我理解noConflict的方式是这样的:无论$绑定到什么地方,记住它,然后创建一个jQuery对象和一个新的,不受限制的$在该对象内部,最后从$开始的时候返回$到全局范围。按照你在这里的顺序,在noConflict做它的事情的时刻,$可能不指向Prototype $函数。
请在您的问题中包含相关代码,而不仅仅是通过外部资源。这是*的规则。 – jfriend00 2015-02-07 20:43:41
你解决了这个问题吗?我也包括原型,jQuery,noConflict,Bootstrap和Bootstrap选择。当我禁用原型bootstrap时,选择效果很好。 (尽管Bootstrap本身没有问题)。 – 2016-06-17 15:42:56