【问题标题】:JQuery and Prototype.js conflictJQuery 和 Prototype.js 冲突
【发布时间】:2015-04-07 20:30:18
【问题描述】:

我需要包含prototype.js 和jQuery,但这似乎搞乱了我的bootstrap-select.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/

【问题讨论】:

  • 请在您的问题中包含相关代码,而不仅仅是通过外部资源。这是 StackOverflow 的规则。
  • 这个问题你解决了吗?我还包括原型、jquery、noConflict、Bootstrap 和 Bootstrap 选择。当我禁用原型引导选择时效果很好。 (但引导程序本身没有问题)。

标签: jquery twitter-bootstrap prototypejs bootstrap-select


【解决方案1】:

尝试颠倒事物的顺序。首先包含 Prototype,然后是 jQuery,然后是带有 jQ​​uery.noConflict() 的块,最后是引导脚本。我理解 noConflict 的方式是:无论 $ 绑定到什么,记住它,然后在该对象内创建一个 jQuery 对象和一个新的、不受限制的 $,最后将 $ 从它开始的位置返回到全局范围。根据您在此处的顺序,在 noConflict 执行其操作时,$ 可能不会指向 Prototype $ 函数。

【讨论】:

    猜你喜欢
    • 2012-05-15
    • 2011-11-30
    • 1970-01-01
    • 2015-09-24
    • 2016-12-01
    • 2014-05-13
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多