在我的项目中我有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
如何在jquery.noConflict()中使用select2?
感谢您的回复
答案 0 :(得分:1)
如何将select2与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>
未在true
中传递noConflict
的原因是,它会释放jQuery
符号以及$
,但插件需要一些}强大的>插入jQuery的方式(任何体面的插件都使用jQuery
,而不是$
)。
在我的项目中我有2个版本的jQuery:1.6.2(用于所有项目)和1.12.4用于更新的javascript
强烈建议咬一口将项目的其余部分升级为更新的东西。