我正在为客户构建一个网站,该网站使用了两个版本的 jQuery。一个版本用于顶部站点导航链接的“熔岩灯”导航效果。另一个版本用于“Smooth Div”图像 slider 。我只能让一个或另一个工作,即使插入“noConflict”脚本也不能同时工作。我已经删除了 noConflict 脚本并将其重新上传到服务器。
最佳答案
当你声明时:
var jQuery_1_2_3 = $.noConflict(true);
它删除了 jQuery 的 $
别名。所以你不能写:
$(function(){
jQuery_1_2_3(selector).doSomething();
});
初始$
未定义。
需要:
jQuery_1_2_3(function(){
jQuery_1_2_3(selector).doSomething();
});
或者(如果想在 document.ready
中使用 $
):
/* pass "$" to ready handler argemnent*/
jQuery_1_2_3(function($){
/* can use "$" inside read now*/
$(selector).doSomething();
});
API 文档有很好的说明和示例
关于javascript - 两个版本的 jQuery 正在运行,无法让 'noConflict' 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14635412/