2011-06-02 59 views
5

我試圖將JQuery庫包含到joomla中,但它不工作。許多組件和模塊在我的CMS中使用mootools。我認爲這個問題是兩個框架之間的衝突。JQuery不工作,因爲Mootools已經加載到joomla

我搜索了互聯網,發現了一些文章,但下面的代碼仍然沒有按預期工作。

<?php 
JHTML::stylesheet('demo_page.css', 'media/system/css/'); 
JHTML::stylesheet('ftab.css', 'media/system/css/'); 
JHTML::stylesheet('demo_table.css', 'media/system/css/'); 
$option="com_mycomp"; 
$base=JUri::root().'components/'.$option.'/js/'; 
$document=&JFactory::getDocument(); 
$noConflict="jQuery.noConflict();"; 
//$document->addScriptDeclaration($noConflict); 
$document->addScriptDeclaration("jQuery(document).ready(function($){jQuery('#example').dataTable();});"); 
JHTML::script('jquery.js',$base,true); 
$document->addScript($base,'jquery.js'); 
$document->addScript($base,'jquery.dataTables.js'); 
?> 

這應該使用JQuery對我的表進行排序,但它沒有。

如何在joomla中同時使用mootools和jQuery?

非常感謝您的幫助!

回答

3

閱讀你的代碼,我看到:

$noConflict="jQuery.noConflict();"; 
//$document->addScriptDeclaration($noConflict); 
$document->addScriptDeclaration("jQuery(document).ready(function($){jQuery('#example').dataTable();});"); 
JHTML::script('jquery.js',$base,true); 
$document->addScript($base,'jquery.js'); 
$document->addScript($base,'jquery.dataTables.js'); 

,但它應該是這樣的:

JHTML::script('jquery.js',$base,true); 
$document->addScript($base,'jquery.js'); 
$document->addScript($base,'jquery.dataTables.js'); 
$noConflict="jQuery.noConflict();"; 
//$document->addScriptDeclaration($noConflict); 
$document->addScriptDeclaration("jQuery(document).ready(function($){jQuery('#example').dataTable();});"); 

現在,這裏的原因:

JavaScript是解釋執行的順序說到到頁面。在知道這些事情是什麼之前,該頁面被告知使用jQuery.noConflict()和jQuery數據表。

+0

非常感謝@jcolebrand!這真的幫助我解決了這個問題! – 2011-06-02 04:00:43

+0

然後我'discommmented // $ document-> addScriptDeclaration($ noConflict); 'line – 2011-06-02 04:02:01

+0

另外你能否告訴我如何使用JHTML在joomla中爲標記添加屬性。我需要像這樣改變它的類'' – 2011-06-02 08:32:03

相關問題