Javascript 在什么情况或条件下需要jQuery.noConflict?
我想问的是,在最需要jQuery.noConflict函数的地方有什么实际原因吗? 用外行的话说,我想问的是,这一功能演变背后的原因是什么Javascript 在什么情况或条件下需要jQuery.noConflict?,javascript,jquery,html,symbols,Javascript,Jquery,Html,Symbols,我想问的是,在最需要jQuery.noConflict函数的地方有什么实际原因吗? 用外行的话说,我想问的是,这一功能演变背后的原因是什么 您正在使用另一个库,它也使用$ 您必须使用多个版本的jQuery,主要是因为 插件取决于jQuery的不同版本 jQuery库及其几乎所有插件都包含在jQuery名称空间中。一般来说,全局对象也存储在jQuery名称空间中,因此jQuery与任何其他库(如prototype.js、MooTools或YUI)之间不应发生冲突 也就是说,有一个警告:默认情况下,
$
jQuery库及其几乎所有插件都包含在
jQuery
名称空间中。一般来说,全局对象也存储在jQuery名称空间中,因此jQuery与任何其他库(如prototype.js、MooTools或YUI)之间不应发生冲突
也就是说,有一个警告:默认情况下,jQuery使用$
作为jQuery
的快捷方式。因此,如果您正在使用另一个使用$
变量的JavaScript库,则可能会与jQuery发生冲突。为了避免这些冲突,您需要在jQuery加载到页面上之后以及尝试在页面中使用jQuery之前立即将其置于无冲突模式
例如
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
$.noConflict();
//使用其他库的$的代码可以在这里找到。
您可以在这里阅读更多内容我认为这是因为prototype还使用了
$
方法。有关更多详细信息,请参阅。@sevensacat,或者,正如我喜欢的那样:“jQuery人员决定不完全是全局名称空间的混蛋”xD(请参见可选的removeAll
参数和返回值)