我们的项目在jquery 1.3.2上运行,是一个非常旧的版本,我知道。无论如何,我们现在不会升级它。我们现在只需要使用jquery的chosen plugin(下载链接 - https://github.com/harvesthq/chosen),至少需要jQuery 1.4。所以,我也跟着下面的解决方案来加载在同一页上的jQuery的两个版本 -无法使用jquery插件使用更高版本的jquery,同时加载jquery的两个版本
https://stackoverflow.com/a/1566644/351903
但我不能够调用jQuery的较新版本的选择。这是我做过什么 -
1.在jQuery的装载部分
<script type="text/javascript" src="/js/jquery.js"></script>
<!-- Added for using jQuery chosen plugin -->
<script type="text/javascript" src="/js/jquery-1.4.min.js"></script>
<script type="text/javascript">
var jQuery_1_4 = $.noConflict(true);
</script>
注 - 我没有写对于旧版本的jQuery以下,因为我不想取代无论我已经写了类似的东西$("something").somefunc()
这个jQuery_1_3_2("something").somefunc()
-
<script type="text/javascript">
var jQuery_1_3_2 = $.noConflict(true);
</script>
2.然后,在插件调用部分
<link rel="stylesheet" type="text/css" href="/css/chosen.css"/>
<!-- <script type="text/javascript" src="/js/jquery.chosen/chosen.jquery.min.js"></script> -->
<script type="text/javascript" src="/js/jquery.chosen/chosen.jquery.js"></script>
<script type="text/javascript">
jQuery_1_4(document).ready(function()
{
jQuery_1_4("select#user_id").chosen(); //Trying to call chosen on the newer version of jquery
});
</script>
但我收到此错误jQuery_1_4("select#user_id").chosen is not a function
。
但是,这是正常工作 - alert("see"+jQuery_1_4("select#user_id").attr("id"));
。
所以,这个问题似乎只是在使用插件,可能我必须做一些调整内插入代码,可能会取代一些$
s与jQuery_1_4
?但这听起来不太好,我不确定什么是正确的方法。
谢谢。看来应该首先包含更新的版本,如http://web.enavu.com/daily-tip/using-multiple-versions-of-jquery-on-the-same-page/中给出的那样。我只需要在插件文件中编辑一行 - “$ = jQuery;”到'$ = jQuery_1_4;'。我想我所有以前的jquery都能正常工作。我随机抽查了一些,他们正在工作。 – 2012-02-06 11:28:57