JQuery ne fonctionne pas sur Joomla 3
Je suis en train de faire un simple script jQuery travail sous Joomla 3. Voici ce que mon module ressemble maintenant:
<?php
//no direct access
defined('_JEXEC') or die;
$doc = JFactory::getDocument();
JHtml::_('jquery.framework');
$doc->addScriptDeclaration('
$(document).ready(function () {
$(".text").text("By this");
});
');
?>
<div class="text">Text should be changed...</div>
J'ai essayé cet extrait de code sur une page normale et fonctionne parfaitement, seulement je ne sais pas pourquoi il ne veut pas travailler dans Joomla.
J'ai installé le jQuery Simple plugin, mais sans succès.
Il n'est pas nécessaire d'installer jQuery Facile plugin pour Joomla 3.x
erreur: Uncaught ReferenceError: jQuery n'est pas défini
avez-vous supprimé la base le fichier jQuery qui vient avec Joomla 3.x?
non, c'est une nouvelle installation de j3 avec un t3 framework. N'ai pas touché à rien, sauf que j'ai essayé le jQuery plugin Facile si cela fonctionne ou pas.
L'erreur que vous recevez, ne précise pas une ligne? Si donc je suppose que ça vient de
erreur: Uncaught ReferenceError: jQuery n'est pas défini
avez-vous supprimé la base le fichier jQuery qui vient avec Joomla 3.x?
non, c'est une nouvelle installation de j3 avec un t3 framework. N'ai pas touché à rien, sauf que j'ai essayé le jQuery plugin Facile si cela fonctionne ou pas.
L'erreur que vous recevez, ne précise pas une ligne? Si donc je suppose que ça vient de
JHtml::_('jquery.framework');
qui est impair. Essayez de désactiver le TS-cadre pour voir la différence que cela faitOriginalL'auteur Tirpox | 2013-08-31
Vous devez vous connecter pour publier un commentaire.
Ok, enfin, après beaucoup de recherches, j'ai la réponse. Parce que la communauté Joomla est de la manipulation de jQuery par namespacing par défaut, vous devez le mettre dans votre code jQuery. Il mentionne ici aussi:
http://docs.joomla.org/J3.1:Javascript_Frameworks#jQuery_JavaScript_Framework
Donc, au lieu d'utiliser $ vous devez utiliser jQuery. Voici donc le code de travail:
J'espère que cela aide 🙂
P. S: Vous pouvez activer le namespacing par la modification de la jQuery déclaration comme
Veuillez noter que ce n'étais pas de travail pour moi...
Je pense que vous êtes en manque un ';' avant l'php balise de fin. juste pour info 😉
Après l'ajout de l'manquant ';' sur votre code avant la balise de fin... j'ai eu ce travail d'amende (Ajouté à ma section en-tête de fichier de modèle). Puis juste écrit dans mon jQuery et utilisé la classe/id pour le contrôle de certains attributs HTML sur la page. Merci!
OriginalL'auteur Tirpox