javascript - select2 和 jQuery.noConflict()

标签 javascript jquery jquery-select2

在我的项目中,我有 2 个版本的 jQuery:1.6.2(用于所有项目)和 1.12.4 用于更新的 javascript。

现在我们需要使用 select2 jquery 插件,我们有以下代码:

jq112 = jQuery.noConflict( true );
var dataSelect = [];

jq112(document).ready(function () {
    if (dataSelect.length > 0) {
        var select = jq112('<select>').select2({
            data: dataSelect
        });

        jq112('#box').prepend(select);
    }
});

但是如果我加载页面,就会出现此错误:

Uncaught TypeError: jq112(...).select2 is not a function

如何将 select2 与 jquery.noConflict() 一起使用?

感谢您的回复

最佳答案

How can use select2 with jquery.noConflict() ?

加载该版本的 jQuery 之后,加载任何其他版本之前加载 select2:

<script src="jquery-v1.12.js"></script>
<script>
var jq112 = jQuery.noConflict(); // <== Do not pass true
</script>
<script src="select2.js"></script>
<script src="jquery-whatever-other-version.js"></script>

noConflict 中不传递 true 的原因是,这将释放 jQuery 符号以及 $,但插件需要某种方式插入 jQuery(任何像样的插件都使用 jQuery,而不是 $ 来做到这一点)。

in my project I have 2 version of jQuery: 1.6.2 (used on all project) and 1.12.4 used for more recent javascript

强烈建议咬紧牙关将项目的其余部分升级到更新的版本。

关于javascript - select2 和 jQuery.noConflict(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38376678/

相关文章:

php - 从网页打印旋转文本

javascript - 如何模拟正在测试的服务调用的函数的实现?

javascript - 来自 wordpress postmeta 表键的多个值

javascript - JQuery when() 出现错误 404

python - 在 Django View 中检索 Select2 多值以在后端使用

javascript - 如何使用 angular.js 进行基本的 http 授权?

javascript - 检查哪个元素最接近其容器的底部。 JS/jQuery

javascript - 如何从 select2 组合中的 id 中获取名称?

jquery - 使用 ajax 时数据未显示在 Select2 上

javascript - 如何替换文本框中的逗号?