JQuery没有使用Joomla 3

Tir*_*pox 4 javascript jquery joomla

我试图在Joomla 3下创建一个简单的jQuery脚本.这是我的模块现在看起来:

<?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>
Run Code Online (Sandbox Code Playgroud)

我在普通页面上尝试了这个片段并且工作得很好,只是我不知道为什么它不想在Joomla中工作.我也安装了jQuery Easy插件,但没有成功.

Tir*_*pox 17

好的,经过大量研究后我得到了答案.因为Joomla 默认通过命名空间处理jQuery ,所以你必须把它放在你的jQuery代码中.它也在这里提到:http://docs.joomla.org/J3.1: Javascript_Frameworks #jQuery_JavaScript_Framework

所以不要使用$,你必须使用jQuery.所以这是工作代码:

<?php 
// no direct access
defined('_JEXEC') or die;

$doc = JFactory::getDocument();
JHtml::_('jquery.framework');

$doc->addScriptDeclaration('
    jQuery(document).ready(function () {
        jQuery(".text").text("By this :)");
    });     
');
?>

<div class="text">Text should be changed...</div> 
Run Code Online (Sandbox Code Playgroud)

我希望它有帮助:)

PS:您可以通过更改jQuery声明来关闭命名空间

JHtml::_('jquery.framework', false);
Run Code Online (Sandbox Code Playgroud)

请注意,这对我不起作用......