📜  什么是 jQuery.noConflict ?

📅  最后修改于: 2021-11-24 05:50:41             🧑  作者: Mango

在 Jquery 中, $符号只是JQuery的别名这意味着$(“p”)JQuery.(“p”),两者完全相同。我们可以使用任何一个。这个$符号被许多 Javascript 库用作函数名或变量名。在开发时,很明显我们将与 JQuery 一起使用许多库。任何其他库也可能使用$符号。在这种情况下,当两个框架使用相同的$符号时,一个框架可能会停止工作。

为了解决这个问题,JQuery 实现了noConflict()方法。 noConflict()方法返回$的控制权以便其他框架/库可以使用它。

句法:

$.noConflict();

参数:它不接受任何参数。

返回值:它返回对 jQuery 的引用。

示例 1:显示 noConflicct() 方法工作的 jQuery 代码

HTML


  

    
    
    
    
    

  

    

para-1

       

para-2

       

para-3

       

para-4

       

para-5

             


HTML


  

    
    

  

  

para-1

     

para-2

     

para-3

     

para-4

     

para-5

        


HTML


  

   
   

  

  

para-1

     

para-2

     

para-3

     

para-4

     

para-5

        


HTML


  

    
    

  

  

para-1

     

para-2

     

para-3

     

para-4

     

para-5

        


输出:这里可以看到,在释放$符号的控制权后,我们不能再使用$符号了。这就是为什么当我们再次使用$ 符号调用 length 属性时会收到错误的原因所以基本上,在调用noConflict()方法之后,我们必须使用jQuery而不是$符号。并且$符号将被其他库使用。

示例 2:

HTML



  

    
    

  

  

para-1

     

para-2

     

para-3

     

para-4

     

para-5

        

输出:好的,由于我们的代码中存在其他库,JQuery代码不能使用$符号,而且我们很懒,所以不想每一行都写jQuery。那么为什么不,为 jQuery 创建我们自己的别名。

5

为jQuery创建别名: noConflict()方法返回对jQuery 的引用,我们可以将其存储在变量中以备将来使用。

示例 3:

HTML



  

   
   

  

  

para-1

     

para-2

     

para-3

     

para-4

     

para-5

        

输出:

5
5

案例: Rohan 正在使用 jQuery 进行他的学校项目,他已经编写了大约 100 行 jQuery 代码。他即将完成他的项目,但随后他想为他的项目添加更多功能。所以他添加了一些同样使用 $ 符号的 javascript 库,所以他使用了 noConflict() 方法。但是当他添加noconflict()方法时,他意识到他必须用 jQuery 替换所有以前的 $ 符号。

不……我们不需要用 jQuery 更改每个 $ 符号。

使用$标识的函数里面:如果我们在使用$标识的函数,我们可以通过$符号作为参数传递给该函数。这将允许我们在该函数内使用 $ 符号,但我们仍然必须在该函数外使用 jQuery。

例子:

HTML



  

    
    

  

  

para-1

     

para-2

     

para-3

     

para-4

     

para-5

        

输出:

5