您好,我已经编写过像Facebook这样的自动完成脚本;它在加载单个jQuery版本的单个php页面上运行良好。
我被迫在有两个jQuery调用的页面中使用它:一个用于jquery-1.6.min.js,另一个用于://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery .min.js
在这种情况下,我遇到了问题,使用jquery / 1.7 / jquery.min.js的JavaScript无效。
我尝试过使用
jQuery.noConflict();
但在这种情况下,使用jquery-1.6.min.js的脚本无效。
有人有任何建议吗?
由于 F。
答案 0 :(得分:1)
我建议你尽量避免在同一页面上使用2版本的jQuery。
如果由于某种原因你无法避免它,那么你必须在两个版本的jQuery上使用noConflict
来维护这两个版本。
像var $1 = jQuery.noConflict()
和var $2 = jQuery.noConflict()
之类的东西,并使用这两个不同的变量。现在,在加载第二个jQuery文件之前执行第一个noConflict代码非常重要。
答案 1 :(得分:1)
用以下内容替换加载jQuery 1.6的script
标记:
if (typeof jQuery == 'undefined') {
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "/path/to/jquery-1.6.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
}
这确保仅在没有其他版本(例如来自CDN的1.7)存在的情况下才加载jQuery的本地副本。