J'ai des problèmes avec jQuery après la mise à jour 3.4.5 depuis la 3.2.2.
$
N'est pas défini.
J'ai eu quelques problèmes à résoudre et j'ai trouvé ceci: https://stackoverflow.com/questions/17687619/is-there-a-way-turn-off-jquery-noconflict-mode -in-wordpress
mais si je cours:
$ = jQuery.noConflict(true);
alors le nouveau problème est que jQuery
n'est pas défini.
Ce n'est pas un problème dans mon site 3.2.2, où $ et jQuery sont définis.
J'ai essayé des choses telles que la définition de jQuery = $ après l'instruction noConflict et le clonage de jQuery dans $ mais aucun de ceux-ci n'a fonctionné.
J'utilise jQuery 1.8.3 au lieu de jQuery inclus avec Joomla. Je me suis également assuré que mootools n'était pas inclus.
Existe-t-il un moyen d'obtenir que $ et jQuery fonctionnent en même temps?
Premièrement, il n'y a aucune raison pour que vous utilisiez jQuery 1.8.3 car il s'agit d'une version ancienne et non prise en charge. Veuillez vous en tenir à ce que Joomla fournit (1.11.3).
Le modèle et toutes les extensions que vous utilisez doivent procéder comme suit pour importer jQuery:
JHtml::_('jquery.framework');
Cela garantit qu’il n’est importé qu’une fois lors de la compilation de head
. Cela signifie que le mode NoConflict est activé. Par conséquent, les éléments suivants sont ajoutés ci-dessous.
jQuery.noConflict();
Tous les modèles/extensions doivent alors toujours écrire leur script JS personnalisé comme suit:
jQuery(document).ready(function(){
var element = jQuery('#element');
});
ou:
jQuery(document).ready(function($){
var element = $('#element');
});
Dans le deuxième exemple, vous pouvez voir que j'ai réussi $
à travers un alias de jQuery
.
Donc dans l’ensemble, votre développeur de modèle ou d’extension n’a pas suivi ce processus. Vous pouvez donc trouver le coupable et le réparer, ou installer le plugin jQuery Easy .
J'espère que cela t'aides