Méthode noConflict() du noyau jQuery

Instance

Utilisez la méthode noConflict() pour attribuer un nouveau nom à la variable jQuery :

var jq=$.noConflict();

Essayez-le vous-même

Définition et utilisation

La méthode noConflict() transfère le contrôle de la variable $ à jQuery.

Cette méthode libère le contrôle de la variable $ sur jQuery.

Cette méthode peut également être utilisée pour attribuer un nouveau nom personnalisé à la variable jQuery.

Astuce :Cet méthode est très utile lorsque d'autres bibliothèques JavaScript utilisent $ pour leurs fonctions.

Syntaxe

jQuery.noConflict(removeAll)
Paramètres Description
removeAll Valeur booléenne. Indique si l'on permet de réinitialiser complètement la variable jQuery.

Description

De nombreuses bibliothèques JavaScript utilisent $ comme nom de fonction ou de variable, jQuery n'échappe pas à la règle. Dans jQuery, $ n'est qu'un alias de jQuery, donc même sans utiliser $, toutes les fonctionnalités sont garanties. Si nous devons utiliser une autre bibliothèque JavaScript que jQuery, nous pouvons appeler $.noConflict() pour lui rendre le contrôle :

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Code utilisant $ d'une autre bibliothèque
</script>

Il peut être combiné avec la méthode .ready() pour donner des alias aux objets jQuery, une technique très efficace :

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // Code utilisant $ de jQuery
  });
  // Code utilisant $ d'une autre bibliothèque
</script>

De plus, en passant true en paramètre à cette méthode, nous pouvons rendre le contrôle de $ et jQuery à la bibliothèque d'origine. Réfléchissez bien avant de l'utiliser !

C'est une version plus extrême que la méthode noConflict simple, car cela redéfinira complètement jQuery. Cela est généralement utilisé dans des situations extrêmes, par exemple, lorsque vous souhaitez intégrer jQuery dans un environnement hautement conflictuel. Note : Il est fort probable que les plugins soient inopérants après l'appel de cette méthode.

Instance

Exemple 1

Mapper l'objet référencé par $ à l'objet original :

jQuery.noConflict();
jQuery("div p").hide(); // Utilisation de jQuery
$("content").style.display = "none"; // Utilisation de $() d'une autre bibliothèque

Exemple 2

Récupérer l'utilisation de l'alias $, puis créer et exécuter une fonction, dans la portée de cette fonction, $ reste un alias de jQuery. L'objet original $ est invalide dans cette fonction. Cette fonction est très efficace pour la plupart des plugins qui ne dépendent pas d'autres bibliothèques :

jQuery.noConflict();
(function($) { 
  $(function() {
    // Code utilisant $ comme alias de jQuery
  });
})(jQuery);
... // Code d'autres bibliothèques utilisant $ comme alias

Exemple 3

Il est possible de combiner jQuery.noConflict() avec ready pour rendre le code plus compact :

jQuery.noConflict()(function() {
    // Code utilisant jQuery
});
... // Code d'autres bibliothèques utilisant $ comme alias

Exemple 4

Créer un alias nouveau pour utiliser jQuery dans la bibliothèque suivante :

var j = jQuery.noConflict();
j("div p").hide(); // Code basé sur jQuery
$("content").style.display = "none"; // Code $() basé sur une autre bibliothèque

Exemple 5

Déplacer complètement jQuery vers un nouveau espace de nom :

var dom = {};
dom.query = jQuery.noConflict(true);

Résultat:

dom.query("div p").hide(); // Code nouveau jQuery
$("content").style.display = "none"; // Code d'une autre bibliothèque $()
jQuery("div > p").hide(); // Une autre version du code jQuery