Que faire en cas de conflits de bibliothèque jQuery
Lors du développement avec jQuery, vous pouvez également utiliser d'autres bibliothèques JS, telles que Prototype, mais des conflits peuvent survenir lorsque plusieurs bibliothèques coexistent. Cet article vous présente principalement la solution parfaite aux conflits de bibliothèques jQuery. Ce dont vous avez besoin. Les amis peuvent se référer. cela, jetons un oeil ci-dessous.
Mon idée est que si on me demandait de concevoir, j'utiliserais une valeur par défaut de $. Si je ne passe pas de paramètres, j'utiliserais $. Enfin, je le monterais sur window.$. et transmettez les paramètres Name, tels que jq, puis je le monterai sur window.jq.
var myControl="jq"; (function(name){ var $=name ||"$"; //name存在$的值就是name的值,不存在或为null,$的值为字符串"$" console.log($); window[$]=function(){ alert("123"); } })(myControl) window[myControl]();
En fait, ce n’est certainement pas la façon dont jquery résout les conflits. Jetez ensuite un œil à la façon dont jQuery résout les conflits.
Les versions multiples de jQuery ou les conflits avec d'autres bibliothèques js sont principalement des conflits avec le symbole $ couramment utilisé.
1. Résolution des conflits
1. Comment résoudre les conflits entre plusieurs versions de jQuery sur la même page
<body> <!-- 引入1.6.4版的jq --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script> <script> var jq164 = jQuery.noConflict(true); </script> <!-- 引入1.4.2版的jq --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script> <script> var jq142 = jQuery.noConflict(true); </script> <script> (function($){ //此时的$是jQuery-1.6.4 $('#'); })(jq164); </script> <script> jq142(function($){ //此时的$是jQuery-1.4.2 $('#'); }); </script> </body>
2. dans d'autres bibliothèques L'importation ultérieure de la méthode
jQuery noConflict() libérera le contrôle de l'identifiant $ afin que d'autres scripts puissent l'utiliser.
1. Vous pouvez utiliser jQuery en remplaçant son abréviation par son nom complet
Une fois les autres bibliothèques et la bibliothèque jQuery chargées, vous pouvez appeler la fonction jQuery.noConflict() à tout moment pour Le contrôle de la variable $ est transféré vers d'autres bibliothèques JavaScript. Ensuite, vous pouvez utiliser la fonction jQuery() comme usine de fabrication d'objets jQuery dans votre programme.
<script src="prototype.js" type="text/javascript"></script> <script src="jquery.js" type="text/javascript"></script> <p id="pp">test---prototype</p> <p>test---jQuery</p> <script type="text/javascript"> jQuery.noConflict(); //将变量$的控制权让渡给prototype.js,全名可以不调用。 jQuery(function(){ //使用jQuery jQuery("p").click(function(){ alert( jQuery(this).text() ); }); }); //此处不可以再写成$,此时的$代表prototype.js中定义的$符号。 $("pp").style.display = 'none'; //使用prototype </script>
2. Personnaliser un raccourci
noConflict() peut renvoyer une référence à jQuery, qui peut être stockée dans un nom personnalisé, tel que jq, $J variables, pour une utilisation ultérieure. .
Cela garantit que jQuery n'entrera pas en conflit avec d'autres bibliothèques lors de l'utilisation d'un raccourci personnalisé.
<script type="text/javascript"> var $j = jQuery.noConflict(); //自定义一个比较短快捷方式 $j(function(){ //使用jQuery $j("p").click(function(){ alert( $j(this).text() ); }); }); $("pp").style.display = 'none'; //使用prototype </script>
3. S'il n'y a pas de conflit, utilisez toujours $
Si vous souhaitez utiliser l'abréviation $ dans le bloc de code jQuery et ne souhaitez pas modifier ce raccourci, vous pouvez passez le symbole $ en tant que variable Give ready méthode. De cette façon, vous pouvez utiliser le symbole $ à l'intérieur de la fonction, mais en dehors de la fonction, vous devez toujours utiliser "jQuery".
<script type="text/javascript"> jQuery.noConflict(); //将变量$的控制权让渡给prototype.js jQuery(document).ready(function($){ $("p").click(function(){ //继续使用 $ 方法 alert( $(this).text() ); }); }); //或者如下 jQuery(function($){ //使用jQuery $("p").click(function(){ //继续使用 $ 方法 alert( $(this).text() ); }); }); </script>
Ou utilisez des blocs d'instructions IEF, ce qui devrait être le moyen le plus idéal, car une compatibilité totale peut être obtenue avec un minimum de modifications de code.
Lorsque nous écrivons nos propres plug-ins jquery, nous devrions tous utiliser cette méthode d'écriture, car nous ne savons pas comment introduire séquentiellement diverses bibliothèques js au cours du processus de travail spécifique, mais cette méthode d'écriture de blocs d'instructions peut conflits de boucliers.
<script type="text/javascript"> jQuery.noConflict(); //将变量$的控制权让渡给prototype.js (function($){ //定义匿名函数并设置形参为$ $(function(){ //匿名函数内部的$均为jQuery $("p").click(function(){ //继续使用 $ 方法 alert($(this).text()); }); }); })(jQuery); //执行匿名函数且传递实参jQuery $("pp").style.display = 'none'; //使用prototype </script>
3. La bibliothèque jQuery est importée avant les autres bibliothèques
La bibliothèque jQuery est importée avant les autres bibliothèques La propriété de $ appartient par défaut à la bibliothèque JavaScript suivante. . Ensuite, vous pouvez utiliser "jQuery" directement pour effectuer du travail jQuery.
En même temps, vous pouvez utiliser la méthode $() comme raccourci vers d'autres bibliothèques. Il n'est pas nécessaire d'appeler la fonction jQuery.noConflict() ici.
<!-- 引入 jQuery --> <script src="../../scripts/jquery.js" type="text/javascript"></script> <!-- 引入 prototype --> <script src="lib/prototype.js" type="text/javascript"></script> <body> <p id="pp">Test-prototype(将被隐藏)</p> <p >Test-jQuery(将被绑定单击事件)</p> <script type="text/javascript"> jQuery(function(){ //直接使用 jQuery ,没有必要调用"jQuery.noConflict()"函数。 jQuery("p").click(function(){ alert( jQuery(this).text() ); }); }); $("pp").style.display = 'none'; //使用prototype </script> </body>
2. Principe
1. Code source
Code source : Jetez un oeil à comment le faire dans le code source
var // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, jQuery.extend({ noConflict: function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery; } });
Lorsque jQuery est chargé, le window.jQuery actuel est obtenu via la variable _jQuery déclarée à l'avance, et le window.$ actuel est obtenu via _$.
Montez noConflict sur jQuery via jQuery.extend(). Nous ajustons donc toujours jQuery.noConflict() comme ceci lors de l'appel.
J'ai fait deux jugements lors de l'appel de noConflict(),
Le premier if, cède le contrôle de $.
Le deuxième if donne le contrôle de jQuery lorsque noConflict() passe les paramètres.
Enfin, noConflict() renvoie l'objet jQuery, quel paramètre est utilisé pour le recevoir et quel paramètre aura le contrôle jQuery.
2. Vérification
//冲突 var $ = 123; //假设其他库中$为123 $( function () { console.log($); //报错Uncaught TypeError: $ is not a function } );
Résoudre les conflits
//解决冲突 var jq = $.noConflict(); var $ = 123; jq(function () { alert($); //123 });
Exemple de contrôle $ de libération
<script> var $ = 123; // window.$是123,存储在私有的_$上。 </script> <script src="https://code.jquery.com/jquery-2.2.4.js"></script> <body> <p>aaa</p> <script> var jq = $.noConflict();//当window.$===jQuery的时候,把_$赋给了window.$。 jq(function () { alert($); //123 }); </script>
Exemple de contrôle de libération jQuery
Le rôle du paramètre deep : deep permet d'abandonner l'interface externe de jQuery.
Comme suit, noConflict() n'écrit pas de paramètres et affiche jQuery en tant que constructeur.
<script> var $ = 123; var jQuery=456; </script> <script src="https://code.jquery.com/jquery-2.0.3.js"></script> <body> <p>aaa</p> <script> var jq = $.noConflict(); jq(function () { alert(jQuery); //构造函数 }); </script>
Si vous écrivez un paramètre vrai, 456 apparaîtra.
<script> var $ = 123; var jQuery=456; </script> <script src="https://code.jquery.com/jquery-2.0.3.js"></script> <body> <p>aaa</p> <script> var jq = $.noConflict(true); //写了true或者参数的时候,deep为真window.jQuery===jQuery为真,所以进入if条件。把456赋值给window.jQuery jq(function () { alert(jQuery); //456 }); </script>
Recommandations associées :
Comment écrire une bibliothèque js/jQuery (résumé d'expérience)
Solution au conflit entre la bibliothèque jQuery et les autres bibliothèques JS_jquery
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans le monde du Web3, bien qu'il soit gratuit, il comporte de nombreux dangers. Par conséquent, la première étape pour la sécurité du portefeuille Ouyi est de protéger la clé privée et la phrase mnémonique. Tout le monde connaît l’importance des clés privées, et aujourd’hui l’accent est mis sur les mnémoniques. La phrase mnémonique peut être comprise comme une autre forme de présentation de la clé privée. Avoir la phrase mnémonique équivaut à posséder la clé privée et à contrôler les actifs du portefeuille. On pense également que sa présence est inférieure à celle de la clé privée, et les utilisateurs peuvent oublier la phrase mnémonique d'Ouyi Wallet. Alors, que dois-je faire si j’oublie la phrase mnémonique d’Ouyi Wallet ? Puis-je toujours récupérer mon mnémonique Ouyi Wallet si je l’oublie ? Problèmes auxquels les utilisateurs doivent prêter attention. De manière générale, si la phrase mnémonique est oubliée, elle ne peut pas être récupérée, mais essayez de contacter le service client concerné pour obtenir de l'aide. L'éditeur ci-dessous vous le dira en détail. Que dois-je faire si j'oublie la phrase mnémonique de mon Ouyi Wallet ? Si vous oubliez la phrase mnémonique d'Ouyi Wallet, essayez de la rappeler ou contactez-nous.

Internet est devenu un élément indispensable de la vie des gens à l’ère de l’information d’aujourd’hui. Mais nous ne pouvons pas nous connecter et nous rencontrons parfois des problèmes. Cependant, par exemple, le haut débit est déjà connecté. Et prenez les mesures de solution correspondantes, nous devons résoudre le problème étape par étape pour restaurer la connexion réseau dans ce cas. Confirmez l'état de connexion de l'appareil : si le téléphone mobile et les autres appareils ont été correctement connectés au réseau haut débit, vérifiez l'ordinateur pour vous assurer que la connexion au réseau sans fil ou au réseau filaire est normale. 2. Redémarrez le périphérique haut débit : réinitialisez le périphérique et rétablissez la connexion, attendez quelques minutes, puis rallumez-le, ou essayez d'éteindre le routeur ou le modem haut débit. 3. Vérifiez le numéro de compte haut débit et le mot de passe : Pour éviter de ne pas pouvoir accéder à Internet en raison d'un compte ou d'un mot de passe incorrect, assurez-vous que le numéro de compte haut débit et le mot de passe saisis sont corrects. 4. Vérifiez D

Dans notre vie quotidienne, la télévision, en tant qu'appareil de divertissement important, souffre souvent de flocons de neige, ce qui affecte notre expérience visuelle. Cet article vous présentera des méthodes pratiques pour résoudre le problème de la neige à la télévision et vous aidera à mieux profiter des programmes télévisés. 1. Analyse des causes des problèmes de flocons de neige Les flocons de neige apparaissant sur les téléviseurs sont généralement causés par des interférences de signal, des problèmes d'antenne ou des sources de signaux TV. 2. Vérifiez si la connexion de l'antenne est lâche. Tout d'abord, vérifiez si la connexion entre le téléviseur et l'antenne est ferme. Si elle est lâche, rebranchez-la. 3. Choisissez une antenne appropriée pour vous assurer que la position et la direction de l'antenne sont correctes. Choisir une antenne avec de bonnes performances peut améliorer la qualité de réception du signal. 4. Ajustez la direction de l'antenne. Trouvez la meilleure direction de réception du signal en tournant ou en ajustant l'angle de l'antenne. 5. Utilisez les signaux de l'antenne intérieure

Comment utiliser la méthode de requête PUT dans jQuery ? Dans jQuery, la méthode d'envoi d'une requête PUT est similaire à l'envoi d'autres types de requêtes, mais vous devez faire attention à certains détails et paramètres. Les requêtes PUT sont généralement utilisées pour mettre à jour des ressources, comme la mise à jour de données dans une base de données ou la mise à jour de fichiers sur le serveur. Ce qui suit est un exemple de code spécifique utilisant la méthode de requête PUT dans jQuery. Tout d'abord, assurez-vous d'inclure le fichier de la bibliothèque jQuery, puis vous pourrez envoyer une requête PUT via : $.ajax({u

Avec les progrès de la technologie et la demande croissante de qualité d’image haute définition, la télévision est devenue un élément indispensable du divertissement à domicile. Cependant, vous pouvez parfois entendre des bruissements gênants lorsque vous regardez la télévision, ce qui non seulement affecte l'expérience visuelle, mais peut également entraîner un dysfonctionnement du téléviseur. Cet article présentera quelques méthodes pour résoudre le bruissement pendant la lecture du téléviseur, afin que vous puissiez profiter d'une expérience de visionnage de films de meilleure qualité. 1 : Vérifiez si la connexion du câble audio est lâche. S'il y a un bruissement lorsque le téléviseur est en cours de lecture, vérifiez d'abord si la connexion du câble audio est ferme. Assurez-vous que les deux extrémités du câble audio sont branchées dans les bons connecteurs et vérifiez les connexions desserrées ou de mauvaises connexions. Deux : Ajustez les paramètres du volume du téléviseur et du périphérique audio. Un réglage approprié du volume du téléviseur et des paramètres du périphérique audio aidera à éliminer les bruissements. essayer

Titre : jQuery Astuces : Modifier rapidement le texte de toutes les balises a de la page En développement web, nous avons souvent besoin de modifier et d'exploiter des éléments de la page. Lorsque vous utilisez jQuery, vous devez parfois modifier le contenu textuel de toutes les balises de la page en même temps, ce qui peut économiser du temps et de l'énergie. Ce qui suit explique comment utiliser jQuery pour modifier rapidement le texte de toutes les balises a de la page et donne des exemples de code spécifiques. Tout d'abord, nous devons introduire le fichier de la bibliothèque jQuery et nous assurer que le code suivant est introduit dans la page : <

Titre : utilisez jQuery pour modifier le contenu textuel de toutes les balises. jQuery est une bibliothèque JavaScript populaire largement utilisée pour gérer les opérations DOM. En développement web, nous rencontrons souvent le besoin de modifier le contenu textuel de la balise de lien (une balise) sur la page. Cet article expliquera comment utiliser jQuery pour atteindre cet objectif et fournira des exemples de code spécifiques. Tout d’abord, nous devons introduire la bibliothèque jQuery dans la page. Ajoutez le code suivant dans le fichier HTML :

Dans la société moderne, le Bluetooth est devenu une technologie indispensable dans notre vie quotidienne. Cependant, certains ordinateurs plus anciens peuvent ne pas disposer de fonctionnalités Bluetooth intégrées. Que faire si votre ordinateur ne dispose pas de Bluetooth et que vous souhaitez utiliser un appareil Bluetooth ? Cet article vous présentera plusieurs méthodes et précautions pour ajouter rapidement la fonctionnalité Bluetooth. 1. Utilisez un adaptateur Bluetooth - Un adaptateur Bluetooth est un périphérique externe qui peut être connecté à un ordinateur via une interface USB. -Achetez un adaptateur Bluetooth compatible et installez le pilote conformément aux instructions. -Branchez l'adaptateur Bluetooth sur le port USB de votre ordinateur et attendez que le système installe automatiquement le pilote. 2. Vérifiez le pilote 1. Vérifiez s'il y a un périphérique Bluetooth sur l'ordinateur. Ouvrez le gestionnaire de périphériques et vérifiez s'il y a un périphérique Bluetooth. sinon
