Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在什么情况或条件下需要jQuery.noConflict?_Javascript_Jquery_Html_Symbols - Fatal编程技术网

Javascript 在什么情况或条件下需要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.noConflict函数的地方有什么实际原因吗? 用外行的话说,我想问的是,这一功能演变背后的原因是什么

  • 您正在使用另一个库,它也使用
    $

  • 您必须使用多个版本的jQuery,主要是因为 插件取决于jQuery的不同版本


  • 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
    参数和返回值)