2010-01-22 62 views
1

我閱讀了所有相關的文章,但我想我錯過了一些東西。Mootools&jQuery在Joomla中的衝突

我的頁面結構是:

1 - 中的Joomla加載Motools庫。代碼:

JHTML::_('behavior.tooltip'); 
JHTML::_('behavior.mootools'); 
JHTML::_('behavior.formvalidation'); 

2 - 然後加載jQuery庫代碼是:

<script language="javascript" src="<?=$this->baseurl;?>/includes/js/jquery/jquery-1.3.2.js"></script> 
<script type="text/javascript" src="<?=$this->baseurl;?>/includes/js/jquery/customjsfile.js"></script>` 

3 - 再就是其使用Jquery的功能少JS功能。該代碼是:

function abc() { /* -.stuffs uses jquery */ } 
function xyz() { /* ..another function which uses jquery */} 

4 - 頁面

5的負載機構 - 在年底再次JS幾行代碼。再次使用Jquery。代碼是:

<script language="javascript"> 
    $("#dialog").html(newHTML); 
</script> 

這就是我的頁面。 現在我得到Motools & Jquery中的衝突錯誤。

我該如何解決它。

回答

1

使用jQuery

jQuery.noConflict(); 

jQuery.noConflict

許多JavaScript庫使用$作爲 函數或變量名稱,就像jQuery所做的 一樣。在jQuery的情況下,$是 只是jQuery的別名,因此所有的 功能都可以在沒有 的情況下使用$。如果我們需要使用另一個 JavaScript庫jQuery的旁邊, 我們可以返回$控制回 與呼叫其他圖書館 $ .noConflict():

+0

非常感謝! It Works! – user251336 2010-01-22 07:36:37

+0

我想在這裏分享 - for-in循環返回一些奇怪的o/p。 但我設法克服它首先將array.length放入一個變量中,然後使用for循環遍歷一個數組。 – user251336 2010-01-22 09:56:25

+0

http://stackoverflow.com/questions/2040042/javascript-array-iteration-using-for-in-with-mootools-included – user251336 2010-01-22 10:17:33

1

jQuery.noConflict(),這是你所需要的。

<html> 
<head> 
    <script src="prototype.js"></script> 
    <script src="jquery.js"></script> 
    <script> 
    jQuery.noConflict(); 

    // Use jQuery via jQuery(...) 
    jQuery(document).ready(function(){ 
     jQuery("div").hide(); 
    }); 

    // Use Prototype with $(...), etc. 
    $('someid').hide(); 
    </script> 
</head> 
<body></body> 
</html> 

源:代替$http://docs.jquery.com/Using_jQuery_with_Other_Libraries