Javascript 在何处使用jQuery.noConflict
我有一些jQuery中提供的代码,我对它非常陌生。我需要使用jQuery.noConflict()方法,因为我也在使用Mootools框架。我只是不知道我应该在哪里替换代码中的$SYMBOL作为“jQuery”。任何帮助都将不胜感激Javascript 在何处使用jQuery.noConflict,javascript,jquery,Javascript,Jquery,我有一些jQuery中提供的代码,我对它非常陌生。我需要使用jQuery.noConflict()方法,因为我也在使用Mootools框架。我只是不知道我应该在哪里替换代码中的$SYMBOL作为“jQuery”。任何帮助都将不胜感激 其代码位于www.cshellarchitecture.com/test/js/flexibg.js链接代码文件中的一些示例: var $window = $(window), $body = $('body'), imageID = "ex
其代码位于www.cshellarchitecture.com/test/js/flexibg.js链接代码文件中的一些示例:
var $window = $(window),
$body = $('body'),
imageID = "expando",
tallClass = 'tall',
wideClass = 'wide',
$bgImage, $wrapper, img, url, imgAR;
/**
Are we dealing with ie6?
*/
var ie6 = ($.browser.msie && parseInt($.browser.version, 10) <= 6);
var$window=$(window),
$body=$('body'),
imageID=“expando”,
tallClass='tall',
wideClass=‘宽’,
$bgImage,$wrapper,img,url,imgAR;
/**
我们在处理ie6吗?
*/
var ie6=($.browser.msie&&parseInt($.browser.version,10)从链接代码文件中获取的一些示例:
var $window = $(window),
$body = $('body'),
imageID = "expando",
tallClass = 'tall',
wideClass = 'wide',
$bgImage, $wrapper, img, url, imgAR;
/**
Are we dealing with ie6?
*/
var ie6 = ($.browser.msie && parseInt($.browser.version, 10) <= 6);
var$window=$(window),
$body=$('body'),
imageID=“expando”,
tallClass='tall',
wideClass=‘宽’,
$bgImage,$wrapper,img,url,imgAR;
/**
我们在处理ie6吗?
*/
var ie6=($.browser.msie&&parseInt($.browser.version,10)在键入jQuery.noConflict();
之后,这相当简单;
您只需将所有$
实例替换为jQuery
或者,如果您习惯于使用$
作为视觉速记来识别对框架的调用,则可以执行$jq=jQuery.noConflict();
,然后在整个代码中使用$jq
而不是jQuery
。在您的情况下,您可以在提供给您的代码中用$jq
替换$
。键入jQuery.noConflict()后就相当简单了
您只需将所有$
实例替换为jQuery
或者,如果您习惯于使用$
作为视觉速记来识别对框架的调用,则可以执行$jq=jQuery.noConflict();
然后在整个代码中使用$jq
而不是jQuery
。在您的情况下,您将在提供给您的代码中用$jq
替换$
。
运行此函数将$variable的控制权交还给最先实现它的库……通过使用此函数,您将只能使用“jQuery”变量访问jQuery
在这种情况下,如果在无冲突模式下运行,则通过“$”变量对jQuery的每次调用都应替换为“jQuery”。noConflict()方法的jQuery文档说明:
运行此函数将$variable的控制权交还给最先实现它的库……通过使用此函数,您将只能使用“jQuery”变量访问jQuery
在这种情况下,如果您在无冲突模式下运行,则通过“$”变量对jQuery的每次调用都应替换为“jQuery”。由于您是以类似的方式构造的,您可以执行以下操作:
var flexiBackground = (function($){ // notice the $ argument
//$ === jQuery only within this scope...
})(jQuery.noConflict()); // call noConflict and pass the jQuery reference to $
通过这样做,您将能够正常地通过$
标识符引用jQuery,该标识符仅位于分配给flexiberbackground的自动执行匿名函数的范围内。由于您是以类似的方式构造的,您可以这样做:
var flexiBackground = (function($){ // notice the $ argument
//$ === jQuery only within this scope...
})(jQuery.noConflict()); // call noConflict and pass the jQuery reference to $
通过这样做,您将能够正常地通过$
标识符引用jQuery,该标识符仅在分配给FlexiberBackground的自动执行匿名函数的范围内。谢谢大家的帮助,它帮了很大的忙!我对jQuery还很陌生,你们都很好地回答了我的问题。谢谢!谢谢大家谢谢你的帮助,它帮了我很大的忙!我对jQuery真的很陌生,你们都很好地回答了我的问题。谢谢!这可能应该为removeAll
参数指定true
,否则它仍然会声明jQuery
。或者,它可以重写为jQuery.noConflict();var f=(函数($){..}(jQuery);
以避免隐藏副作用。这可能应该为removeAll
参数指定true
,否则它仍将声明jQuery
。或者,它可以重写为jQuery.noConflict();var f=(函数($){..}(jQuery);
以避免隐藏副作用。