¿Qué es jQuery.noConflict?

En JQuery, el signo $ es solo un alias para JQuery. Significa $(“p”) y JQuery.(“p”), ambos son totalmente iguales. Podemos usar cualquiera. Este signo $ es utilizado por muchas bibliotecas de Javascript como nombres de funciones o nombres de variables. En el momento del desarrollo, es obvio que vamos a utilizar muchas bibliotecas junto con JQuery. Puede haber una posibilidad de que otras bibliotecas también usen el signo $. En este caso, cuando dos marcos usan el mismo signo $, uno podría dejar de funcionar.

Para resolver este problema, JQuery implementó el método noConflict() . El método noConflict() devuelve el control de $, para que otros marcos/bibliotecas puedan usarlo.

Sintaxis:

$.noConflict();

Parámetro: No acepta ningún parámetro.

Valor devuelto: Devuelve una referencia a jQuery.

Ejemplo 1: código jQuery para mostrar el funcionamiento del método noConflicct()

HTML

<!DOCTYPE html>
<html lang="en">
  
<head>
    <!-- Using jquery library -->
    <script src=
"https://code.jquery.com/jquery-git.js">
    </script>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" 
          content="width=device-width, initial-scale=1.0">
</head>
  
<body>
    <p>para-1</p>
  
    <p>para-2</p>
  
    <p>para-3</p>
  
    <p>para-4</p>
  
    <p>para-5</p>
  
  
    <script>
        // Calling with $ sign
        console.log($("p").length)
  
        // Releasing the control of $
        $.noConflict();
  
        // Calling again with $ sign
        console.log($("p").length)
    </script>
</body>
  
</html>

Salida: aquí, puede ver que después de soltar el control del signo $ , ya no podemos usar el signo $ . Es por eso que recibimos un error cuando volvimos a llamar a la propiedad de longitud con el signo $. Básicamente, después de llamar al método noConflict() , tenemos que usar jQuery en lugar del signo $. Y el signo $ será utilizado por otras bibliotecas.

Ejemplo 2:

HTML

<!DOCTYPE html>
<html lang="en">
  
<head>
    <!-- using jquery library -->
    <script src=
"https://code.jquery.com/jquery-git.js">
    </script>
</head>
  
<body>
  <p>para-1</p>
  
  <p>para-2</p>
  
  <p>para-3</p>
  
  <p>para-4</p>
  
  <p>para-5</p>
  
  <script>
      $.noConflict();
      console.log(jQuery("p").length);
      // Code that uses other library's $ can follow here.
  </script>
</body>
  
</html>

Salida: Ok, debido a la presencia de otras bibliotecas en nuestro código, no podemos usar el signo $para el código JQuery, y somos muy perezosos, por lo que no queremos escribir jQuery en cada línea. Entonces, ¿por qué no crear nuestro propio alias para jQuery?

5

Crear alias para jQuery: el método noConflict() devuelve una referencia a jQuery, y podemos almacenar esto en una variable para uso futuro.

Ejemplo 3:

HTML

<!DOCTYPE html>
<html lang="en">
  
<head>
   <!-- using jquery library -->
   <script src=
"https://code.jquery.com/jquery-git.js">
   </script>
</head>
  
<body>
  <p>para-1</p>
  
  <p>para-2</p>
  
  <p>para-3</p>
  
  <p>para-4</p>
  
  <p>para-5</p>
  
  <script>
      console.log($("p").length)
      let gk = $.noConflict();
      console.log(gk("p").length);
  </script>
</body>
  
</html>

Producción:

5
5

Caso: Rohan está haciendo su proyecto escolar usando jQuery y ha escrito alrededor de 100 líneas de código jQuery. Está a punto de completar su proyecto, pero luego pensó en agregar algunas características más a su proyecto. Entonces agregó algunas bibliotecas de JavaScript que también usan el signo $, por lo que usa el método noConflict(). Pero cuando agregó el método noconflict() , se dio cuenta de que tenía que reemplazar todos los signos $anteriores con jQuery. 

No… no necesitamos cambiar cada signo $con jQuery.

Usar el signo $dentro de una función: si tenemos una función en la que se usa el signo $, podemos pasar el signo $como parámetro a esa función. Esto nos permitirá usar el signo $dentro de esa función, pero aun así, tenemos que usar jQuery fuera de la función.

Ejemplo:

HTML

<!DOCTYPE html>
<html lang="en">
  
<head>
    <!-- using jquery library -->
    <script src=
"https://code.jquery.com/jquery-git.js">
    </script>
</head>
  
<body>
  <p>para-1</p>
  
  <p>para-2</p>
  
  <p>para-3</p>
  
  <p>para-4</p>
  
  <p>para-5</p>
  
  <script>
    $.noConflict();
    jQuery(document).ready(function ($) {
      console.log($("p").length);
    });
  </script>
</body>
  
</html>

Producción:

5

Publicación traducida automáticamente

Artículo escrito por hritikrommie y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *