J'utilise jQuery pour un module. Mon modèle Joomla a un menu JQuery intégré. Ils sont donc en conflit entre eux.
Y a-t-il un moyen de résoudre ce problème. Suite au code de script du module p>
5 Réponses :
ESSAYEZ
var J = jQuery.noConflict();
Cette réponse n'est pas assez bonne. Vous devez spécifier quelle bibliothèque vous souhaitez repousser pour utiliser "J". Écrire cela au mauvais endroit peut résulter de différents résultats.
Je ne sais pas pourquoi tu veux dire. Explique.
De quoi vient-il de la "jquery"? Comment puis-je charger (une version spécifique de) jQuery sans espaces de noms polluants?
ESSAYER
<script type="text/javascript" charset="utf-8"> $(document).ready(function () { var container = jQuery('div.sliderGallery'); var ul = jQuery('ul', container); var itemsWidth = ul.innerWidth() - container.outerWidth(); jQuery.noConflict(); jQuery('.slider', container).slider({ min: 0, max: itemsWidth, handle: '.handle', stop: function (event, ui) { ul.animate({'left' : ui.value * -1},340); }, slide: function (event, ui) { ul.css('left', ui.value * -1); } }); }); </script>
Je copie votre code et collez-le dans mon fichier, mais cela ne change rien. Dois-je faire autre chose?
Ce que vous devez faire pour résoudre votre problème est une fonction de jQuery non-alias et l'affecter à un autre nom de variable (rappelez-vous: les variables peuvent être des fonctions). Vous devez utiliser le Maintenant, lorsque vous chargez votre version, il prendra sur les espaces de noms JQuery et jquery.noconflic () code>
fonction à un-alias the $ () code> fonction. Ici un pour le faire:
$ code>, mais vous aurez toujours le Autre référence à la fonction JQuery de Joomla si vous en avez besoin. Pour réintérer, le flux de base est le suivant: p>
$ () code> li>
ol> p>
"Move Joomla JQuery dans un autre espace de noms" - pas une si bonne idée, car cela pourrait courir quelque part plus tard et rechercher l'espace nominal ancien, à la place, vous devez renommer votre nouvelle jQuery à la place de J $.
Voulez-vous dire que votre joomla a chargé 2 types de jQuery en même temps? 1er votre menu Load JQuery et puis votre module charge jQuery? p>
Voici les solutions: Dans les modèles Joomla, nous pouvons remplacer les vues du module ou du composant (je suppose que vous devez utiliser Joomla 1.5.x Droite?) P>
dans vos modèles Créez un répertoire appelé HTML / Par exemple: Modèles / Yourtemplate / HTML / P> LI>
Copier le fichier de modules / mod_yourmenu / tmpl /.* dans votre modèle HTML (Modèles / Yourtemplate / HTML / MOD_YOURMENU /) -> * Vous n'avez pas besoin d'ajouter TMPL / * P> li>
Modifiez les fichiers PHP à l'intérieur et supprimez tout étiquette qui charge jQuery p> li>
faire l'étape 1-3 pour les modules utilisant JQuery. P> li>
Modifiez votre modèle, Mettez la balise à charger la dernière version de JQuery. P> Li> ol>
Cela devrait fonctionner maintenant :) p>
HM - Cela pourrait fonctionner, mais si vous voulez utiliser ce module sur de nombreux sites. Je dois faire ces étapes à chaque fois. Connaissez-vous une autre solution?
Juste pour envelopper votre script JQ dans une fonction auto-invoquant.
(function($){ $(document).ready(function(){ $('div').click( function(){ alert('ding'); }); }); })(jQuery);