我正在为客户建立一个网站,该网站使用的是jQuery的两个版本。一种版本是顶部站点导航链接的“ Lava Lamp”导航效果。另一个版本适用于“ Smooth Div”图像滑块。我只能使一个或另一个工作,即使插入'noConflict'脚本也不能同时工作。从那以后,我删除了noConflict脚本并将其重新上传到服务器。

这是网站:http://www.webexplosive.com/spokes

最佳答案

当您声明:

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文档具有良好的说明和示例

http://api.jquery.com/jQuery.noConflict/

关于javascript - 两种版本的jQuery正在运行,无法使“noConflict”正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14635412/

10-12 00:22